Instalação do PostgreSQL com Apache 2, PHP 5, OpenSSL no Debian Wheezy 7.7 64 bits com systemd e chroot

Instalação praticamente completa, feita majoritariamente em linha de comando.

[ Hits: 28.017 ]

Por: Buckminster em 10/11/2014


Introdução



No final, tem algumas explicações sobre os parâmetros de configurações.

Como sempre, aconselho a ler todo este amontoado de palavras, antes de sair executando os comandos. Siga os passos exatamente na ordem em que estão colocados e faça os procedimentos com calma, sem pressa, na maciota, "beleza pura bixo"... emocione-se instalando os programas, curta esse momento, deixe-se levar, aproveite a onda... ou não.

Estando o sistema Debian Wheezy devidamente instalado, configurado e atualizado, faça os procedimentos abaixo. Os procedimentos foram realizados em sua maioria no console (linha de comando). Serão dadas as explicações que forem necessárias para os interessados poderem realizar as operações. Os programas foram instalados em suas versões mais recentes, até o momento (novembro de 2014).

Caso tu tenhas outras versões instaladas do PostgreSQL, Apache, PHP e OpenSSL, recomendo desinstalá-las (a menos que tu saiba o que estás fazendo).

O Debian Wheezy 7.7 64 bits utilizado aqui, foi compilado com o kernel 3.17.2 de kernel.org. Como é um servidor WEB, a preocupação com o desempenho e a segurança começaram durante o particionamento, a configuração básica do sistema que foram realizados utilizando-se o conteúdo deste link, com a ressalva de que a partição /home ficou bastante reduzida. Ainda que não fosse necessária uma partição /home, por uma questão de gosto pessoal, utilizaremos para fins de armazenamento de downloads, arquivos, etc.

Todas as partições foram setadas com permissões somente de leitura e escrita para o usuário e alguns diretórios, nem mesmo o root tem permissão de execução. Não vou colocar aqui quais são eles, pois existe farto material sobre isso na internet.

Deixo aqui uma sugestão de sources.list:

##deb cdrom:[Debian GNU/Linux 7.7.0 _Wheezy_ - Official amd64 DVD Binary-1 20141018-13:06]/ wheezy contrib main
#deb cdrom:[Debian GNU/Linux 7.7.0 _Wheezy_ - Official amd64 DVD Binary-1 20141018-13:06]/ wheezy contrib main
deb http://ftp.br.debian.org/debian/ wheezy main non-free contrib
deb-src http://ftp.br.debian.org/debian/ wheezy main non-free contrib
deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free
# wheezy-updates, previously known as 'volatile'
deb http://ftp.br.debian.org/debian/ wheezy-updates main contrib non-free
deb-src http://ftp.br.debian.org/debian/ wheezy-updates main contrib non-free
deb http://ftp.debian.org/debian/ wheezy-updates main contrib non-free
deb-src http://ftp.debian.org/debian/ wheezy-updates main contrib non-free
#deb http://ftp.debian.org/debian/ wheezy-backports main contrib non-free
#deb http://www.deb-multimedia.org/ wheezy main non-free
#deb http://mozilla.debian.net/ wheezy-backports iceweasel-release

Instalando o systemd

Com o systemd, o sistema fica mais leve e muito mais rápido.

A inicialização e o desligamento ficaram tão rápidos que nem dá mais para ler os "Started..", "Stoped..." e os "Starting... [OK]". Os aplicativos dentro do sistema estão abrindo muito mais rápido também. Mas é opcional, caso alguém não se sentir à vontade, não precisa instalar. No final, tem um breve resumo sobre o systemd.

Abra o terminal e atualize o sistema:

# apt-get update
# aptitude safe-upgrade

Antes de instalar o systemd, verifique se tu não tens alguma melhoria de desempenho do sistema, tipo aquela do cgroup colocada no /etc/rc.local: mkdir -p /dev/cgroup/cpu -o cpu... etc.

Caso tenha, remova ou comente as linhas. E também remova ou comente as linhas do arquivo /etc/bash.bashrc. Essa melhoria era elaborada pelo próprio autor do systemd. Caso não tenha, siga adiante na instalação do systemd.

Instalando:

# apt-get install systemd
# apt-get install libsystemd-daemon-dev #Instalando o daemon do systemd.
# apt-get install systemd-sysv #Colocando o systemd como padrão.

Caso der um aviso "terrorista" do SysVinit, ignore e siga adiante na instalação (sim, faça o que eu digo!).

# vim /etc/default/grub #Uso o Vim, tu uses teu editor de texto preferido.

Modifique a linha GRUB_CMDLINE_LINUX_DEFAULT para:

GRUB_CMDLINE_LINUX_DEFAULT="nomodeset init=/bin/systemd"

Salve e saia do arquivo.

Atualizando e reiniciando:

# update-grub
# shutdown -r now

Aguarde reiniciar.

Ou pode configurar o parâmetro do systemd direto no kernel, parando a inicialização no GRUB e digitando "e", e alterando: linux /vmlinuz... etc... nomodeset init=/bin/systemd... isso é contigo.

Maiores informações sobre o systemd, tu podes encontrar aqui: E aqui:
    Próxima página

Páginas do artigo
   1. Introdução
   2. chroot
   3. PostgreSQL
   4. Apache 2
   5. PHP 5
   6. Conclusão
Outros artigos deste autor

Entendendo o que é URI, URL, URN e conhecendo as diferenças entre POST e GET

Como agendar um backup automático do PostgreSQL no Cron evitando o problema de senha

IPv6, DNSv6 e DHCPv6

Problema no GRUB no Debian Squeeze 6.0.7 [Resolvido]

Permissões do Linux

Leitura recomendada

Aventuras, desventuras e Software Livre

Baixando e instalando o Ubuntu 6.10

5 coisas que todo aluno de Sistemas de Informação deveria saber (e fazer)...

Container Elastic Stack para visualização de logs do Proxy Squid

Relato: Instalação mista dos sistemas Linux, MacOS e Windows na mesma rede

  
Comentários
[1] Comentário enviado por danniel-lara em 11/11/2014 - 08:18h

Parabéns muito bom o artigo
principalmente a parte do chroot

[2] Comentário enviado por Buckminster em 11/11/2014 - 13:38h


[1] Comentário enviado por danniel-lara em 11/11/2014 - 08:18h:

Parabéns muito bom o artigo
principalmente a parte do chroot


Obrigado conterrâneo.

[3] Comentário enviado por Tacioandrade em 14/11/2014 - 00:00h

Amigo uma duvida sobre o chroot, gostaria de instalar o chroot apenas para alguns usuários do sistema, para que ao invés do ftp o meu cliente possa enviar os arquivos via sftp para seu /home/usuário.

No seu caso o /var/chroot/dev por exemplo vai ser usado por todos os usuários do sistema que logarem via ssh como o /dev padrão, seria isso?


Agradeço desde já. =)

[4] Comentário enviado por Buckminster em 14/11/2014 - 06:48h


[3] Comentário enviado por Tacioandrade em 14/11/2014 - 00:00h:

Amigo uma duvida sobre o chroot, gostaria de instalar o chroot apenas para alguns usuários do sistema, para que ao invés do ftp o meu cliente possa enviar os arquivos via sftp para seu /home/usuário.

No seu caso o /var/chroot/dev por exemplo vai ser usado por todos os usuários do sistema que logarem via ssh como o /dev padrão, seria isso?


Agradeço desde já. =)


Sim. No artigo o chroot encapsula toda instalação que for colocada dentro dele.

Para o que tu quer fazer teria que criar o usuário dentro do chroot. Veja os links abaixo para te dar uma idéia:

http://www.thegeekstuff.com/2012/03/chroot-sftp-setup

https://wiki.archlinux.org/index.php/SFTP_chroot

http://fabricafiles.blogspot.com.br/2010/04/vsftpd-com-usuarios-em-chroot.html

[5] Comentário enviado por Tacioandrade em 14/11/2014 - 13:41h


[4] Comentário enviado por buckminster em 14/11/2014 - 06:48h:


[3] Comentário enviado por Tacioandrade em 14/11/2014 - 00:00h:

Amigo uma duvida sobre o chroot, gostaria de instalar o chroot apenas para alguns usuários do sistema, para que ao invés do ftp o meu cliente possa enviar os arquivos via sftp para seu /home/usuário.

No seu caso o /var/chroot/dev por exemplo vai ser usado por todos os usuários do sistema que logarem via ssh como o /dev padrão, seria isso?


Agradeço desde já. =)

Sim. No artigo o chroot encapsula toda instalação que for colocada dentro dele.

Para o que tu quer fazer teria que criar o usuário dentro do chroot. Veja os links abaixo para te dar uma idéia:

http://www.thegeekstuff.com/2012/03/chroot-sftp-setup

https://wiki.archlinux.org/index.php/SFTP_chroot

http://fabricafiles.blogspot.com.br/2010/04/vsftpd-com-usuarios-em-chroot.html


Perfeito cara era exatamente isso que eu queria. =D No caso pensei em dar um ssh básico inicialmente com o nano, ls, etc para meus "clientes", porem olhando isso vi que poderia abrir falhas de segurança, como por exemplo poder para que o usuário usasse algum exploit para subir de permissões e quem sabe danificar o servidor.

Obrigado mesmo pelos tutoriais ajudará demais.

PS: Estou montando um mini curso para o evento de nginx com múltiplos domínios + SFTP + Fail2Ban, assim que terminar farei um tutorial e colocarei aqui no Viva o Linux. =D

[6] Comentário enviado por Buckminster em 15/11/2014 - 23:51h

Tacioandrade;

de nada.

Será bem vindo teu tutorial.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts