Sexta-feira, 17 de Agosto de 2007
Servidor caseiro - III
Ok, sistema instalado, um módulo de RAM foi à viola, estou com 384 MB de RAM.
Instalei o OpenSSL, o MySQL e o PostgreSQL. A compilação deve ser feita no directório /usr/local/src
- Instalar OpenSSL
# ./config no-idea
# make depend
# make
# make install
No final, devemos ficar com tudo em /usr/local/ssl/
Criar a nossa Certificate Authority
Mudamos para /usr/local/ssl/bin/ e executamos
# cd /usr/local/ssl
# ./openssl genrsa -des3 -out ca.key 1024
É-nos pedida uma password para o ficheiro ca.key
De seguida criamos um auto-assinado certificado CA com a respectiva chave RSA:
# ./openssl req -new -x509 -days 365 -key ca.key -out ca.crt
É-nos pedida a password que demos anteriormente e é-nos colocada uma série de perguntas a que se responde facilmente.
Criar um certificado SSL
Criamos uma chave privada com
# ./openssl genrsa -des3 -out server.key 1024
É-nos novamente pedida uma password.
De seguida criamos um Certified Signing Request com a chave privada RSA:
# ./openssl req -new -key server.key -out server.csr
Mais uma vez é-nos colocada a mesma série de questões, mas atenção: quando nos for perguntado o Common Name, devemos dar o Full Qualified Domain Name. Esta questão é muito importante.
É-nos também pedida uma challenge password.
Assinar o server.csr
Para que possamos ter um certificado SSL válido, usamos a nossa CA para assinar o ficheiro server.csr
O mod_ssl tem um utilitário para o fazer. Descomprimimos o ficheiro do código e na directoria pkg.contrib existe um executável denominado sign.sh
Copiamo-lo para /usr/local/ssl/bin/ e neste directório executamos
# ./sign.sh server.csr
É-nos pedida a password que demos antes e respondemos y às duas perguntas seguintes. Se tivermos sucesso podemos ler a mensagem:
Write out database with 1 new entries
Data Base Updated
CA Verifying: server.crt <-> CA cert
server.crt: OK
Não se apaga o directório do código fonte do openssl e do mod_ssl, pois adiante será necessário recorrer a eles de novo.
- Instalar MySQL
# ./configure --prefix=/usr/local/mysql
# make
# make install
De seguida, deve executar-se o comando
# scripts/mysql_install_db
Agora cria-se um utilizador e um grupo mysql:
# groupadd mysql
# useradd -g mysql -s /bin/false mysql
De seguida, no directório /usr/local/mysql/var, executam-se os comandos:
# chown -R mysql.mysql .
# find . -follow -type d -print | xargs chown mysql.mysql
Deve evitar-se que outros utilizadores acedam aos dados do MySQL. Para isso, utilizam-se no mesmo directório, os comandos:
# chmod -R go-rwx .
# find . -follow -type d -print | xargs chmod go-rwx
Em /usr/local/src/mysql-5.0.45/support-files existe um ficheiro denomindao mysql.server. Copia-se para /etc/init.d e dão-se-lhe permissões de execução:
# cd /usr/local/src/mysql-4.0.12/support-files
# cp mysql.server /etc/init.d/mysqld
# cd /etc/init.d
# chmod +x mysqld
Arranque o servidor com o comando:
# /etc/init.d/mysqld start
Para que o MySQL arranque automaticamente quando ligar o servidor, execute o comando:
# chkconfig --level 35 mysqld on
Dê uma password ao utilizador root do MySQL (não confundir com o root do sistema, a semelhança de nomes é pura coincidência) executando o comando:
# /usr/local/mysql/bin/mysqladmin -u root password segredo
O root do MySQL fica então com a password segredo.
- Instalar o PostgreSQL
# ./configure
# gmake
# gmake install
# groupadd postgres
# useradd postgres
# mkdir /usr/local/pgsql/data
# chown -R postgres.users /usr/local/pgsql/data
# su - postgres
# /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
# /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data > logfile 2>&1 &
No directório contrib/start-scripts, existe um ficheiro denominado linux que é um script para arrancar o PostgreSQL. Vamos copiá-lo para /etc/init.d, dar-lhe permissões de execução e tornar permanente o seu arranque quando se ligue o servidor:
# cp linux /etc/init.d/pgsqld
# cd /etc/init.d
# chmod +x pgsqld
# chkconfig --level 35 pgsqld on
Ok, já tenho o sistema instalado, o MySQL e o PostgreSQL.
Keep in touch.
Os comentários são da exclusiva resonsabilidade dos seus autores.
Mário Gamito, 2004 - 2007
Todos os direitos reservados.