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.
tags:
publicado por gamito às 13:19
link do post | comentar
Os comentários são da exclusiva resonsabilidade dos seus autores.
Mário Gamito, 2004 - 2007
Todos os direitos reservados.

Mais sobre mim

pesquisar

Janeiro 2008

Dom
Seg
Ter
Qua
Qui
Sex
Sab
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

Posts recentes

Portagens

Há 20 anos atrás... *sigh...

Vou criar a minha própria...

Finalmente

SAPO codebits

Sporting

Caixa Mágica e Mandriva

A1 Aveiro - Lisboa

Browser mamão

gFTP

PlayStation 3 e Sony

Mas quem é o gajo ?

Negócios do Open Source

Não estão fartos disto ?

Naughty, naughty

PHP chrooted

Joomla

Novo Projecto

MySQL :: It's the ctl, st...

MySQL :: Just a little ti...

MySQL chrooted

BASH, stdout e stderr

4 kb stack ou 8kb stack

A funny guy...

Truques, Minas e Alçapões...

Truques, Minas e Alçapões...

Logs do mrtg

Salmos, 23

Servidor caseiro - XXVII

Servidor caseiro - XXVI

Servidor caseiro - XXV

Números de telemóvel aban...

Servidor caseiro - XXIV

Humm...

Servidor caseiro - XXIII

Servidor caseiro - XXII

Servidor caseiro - XXI

Servidor caseiro - XX

Servidor caseiro - XIX

Ubuntu : O Enigma

Leixões 1 - Benfica 1

Servidor caseiro - XVIII

Servidor caseiro - XVII

Servidor caseiro - XVI

Servidor caseiro - XV

Servidor caseiro - XIV

Servidor caseiro - XIII

Servidor caseiro - XII

Servidor caseiro - XI

Servidor caseiro - X

Arquivos

Contacto

gamito@gmail.com

No Planeta Geek

tags

todas as tags

subscrever feeds