O meu próprio servidor – parte 1

This post is part 1 of 4 of  O meu próprio servidor

Tentativas anteriores de ter o meu próprio site acabaram sempre mal – mais cedo ou  mais tarde um palerma pirata qualquer acabava sempre por conseguir tomar conta dele e utilizar o meu domínio para fins no mínimo duvidosos. Ter um site alojado numa empresa deixa-nos dependente da qualidade dos serviços de administração de sistema dessa empresa… e a experiência ensinou-me que mais vale arregaçar as mangas e fazer eu mesmo. Mas infelizmente quando temos um site alojado numa empresa o nosso controlo sobre o servidor em si é nulo, o mais que conseguimos para lá de webadmin é o controlo sobre o file system – nunca sobre o estado dos serviços, as configurações ou as versões.

A solução passava por ter o meu próprio servidor dedicado mas os preços eram exorbitantes por isso durante algum tempo aventurei-me e tive o meu próprio servidor doméstico, ligado à net através da minha ligação ADSL. Para experiências e usos reduzidos servia perfeitamente mas as ligações ADSL na minha zona estão limitadas pela Portugal Telecom a uns míseros 4 Mbps com 512  kbps e acabei por desistir.

Mas agora existem os VPS/VDS que nos permitem utilizar apenas uma fracção de um servidor real como se fosse um servidor completo. A experiência do servidor doméstico mostrara que 200 MHz e 64 MB eram suficientes para um pequeno site por isso optei por um VDS de 256 MB com 5 GB de espaço em disco. O processador é de 3 GHz, tem de ser partilhado pelos restantes VDS mas mesmos que haja 10 servidores em simultâneo a puxar pelo processador dá 300 MHz a cada um – quanto aos outros não sei mas a mim chega-me perfeitamente.

Ah pois, e Linux porque para lidar com as parvoíces do Windows já me basta o dia-a-dia. Escolhi Ubuntu Server porque já estou familiarizado com o Ubuntu como Desktop principal mas Red Hat também seria uma boa escolha (na minha profissão também lido com uns quantos servidores RHEL embora não como webadmin).

E agora que em Portugal finalmente se deu a liberalização nos Domínios, um domínio .pt só para mim.

No próximo artigo explico como configurar o servidor VDS para funcionar como servidor Web.

O meu próprio servidor – parte 2

This post is part 2 of 4 of  O meu próprio servidor

Feitos os devidos pagamentos recebi um mail com a informação relevante:

  • um endereço IP (62.193.196.90) para onde me é recomendado apontar as entradas de DNS www/ftp/mail/pop3/mx
  • um login para o painel de controlo do VDS (Parallels Plesk Panel)
  • um login de administração do sistema operativo (root)

Depois de confirmados os acessos, a primeira coisa que fiz criar um novo login de administração do Ubuntu Server e desactivar o utilizador root fornecido (numa instalação de Ubuntu a conta root nem sequer fica activa de modo a evitar erros por parte dos utilizadores e dificultar o trabalho aos piratas).

Depois usei o painel de controlo para criar um novo domínio do tipo “Web Site Hosting” respondendo pelo nome “ofalcao.pt” e IP 62.193.196.90. Sendo apenas para Web optei por não activar serviços de Mail nem DNS e como vou instalar WordPress defino que o PHP vai correr como um módulo Apache sem usar safe mode (que está a ser abandonado e só me deu chatices neste servidor). Defino também que em vez de “admin” quero outro nome para a conta de FTP.

Ainda no painel de controlo defino também um alias de domínio que fica a apontar para o domínio que acabei de criar: pedidos web a “www.ofalcao.pt” são encaminhados para “ofalcao.pt”.

Pronto, se quisesse um site podia já começar transferindo para aqui a minha estrutura de ficheiros estáticos (html e imagens) por FTP ou pelo File Manager do Plesk para ofalcao.pt/httpdocs (um caminho relativo que na verdade corresponde a /var/www/vhosts/ofalcao.pt/httpdocs).

No próximo artigo explico como instalei o WordPress.

O meu próprio servidor – parte 3

This post is part 3 of 4 of  O meu próprio servidor

Embora o servidor já estivesse pronto para conteúdos estáticos, foram necessárias algumas coisas mais para poder instalar satisfatoriamente o WordPress (e algumas só descobri por tentativa e erro):

Adicionar permissões ao servidor apache

Pelos vistos no Plesk o file system debaixo de httpdocs fica a pertencer ao utilizador por nós escolhido para acesso FTP e ao grupo “psacln”. Mas o apache corre com o utilizador www-data que não faz parte do grupo “pscln” e o WordPress não consegue executar certas operações se o apache não tiver permissões sobre o file system.

Em vez de baixar a guarda mudando as permissões para 777 parece-me preferível adicionar o apache (“www-data”) ao grupo “psacln”. Para isso é necessário aceder à linha de comando do sistema operativo:

sudo  usermod -a -G psacln www-data
sudo /etc/init.d/apache2 restart

Aumentar a memória disponível para PHP

Pelos vistos o Plesk atribui apenas 32 MB para uso do PHP. Descobrimos isso quando a instalação do WordPress nos brinda com a mensagem

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 9 bytes) in /var/www/vhosts/ofalcao.pt/httpdocs/wp/wp-includes/pomo/mo.php on line 186

Para evitar isso é necessário criar um ficheiro de configuração do apache

sudo nano /var/www/vhosts/ofalcao.pt/conf/vhost.conf

com o seguinte conteúdo:

    <Directory /var/www/vhosts/ofalcao.pt/httpdocs/>
    php_value memory_limit 64M
    </Directory>

e reconfigurar o apache

sudo /usr/local/psa/admin/sbin/websrvmng --reconfigure-vhost --vhost-name=ofalcao.pt

Criar a base de dados para o WordPress

No painel do Plesk adicionar uma nova base de dados MySQL com um nome à escolha e adicionar um novo utilizador (com um nome diferente do “admin” sugerido). Em princípio isto é suficiente mas como em tempos tive problemas com collations erradas afectarem a tradução portuguesa do WP usei o módulo webadmin do Plesk para  confirmar que a collation estava OK (“utf8_general_ci”).

Criar uma pasta para a instalação do WordPress

Apesar de não ser necessário criei uma pasta “blog” debaixo de httpdocs para conter a instalação do WP. Se quiser ter outras coisas instaladas no servidor escuso de as misturar todas além de facilitar futuros backups, aplicação de regras de segurança, etc…

Isto pode ser feito no File Manager do Plesk ou pelo cliente FTP, não é necessário linha de comando.

Transferir o WordPress

O site do WP tem um guia “Famous 5-Minute Install” fácil de seguir.

O download do WP (tanto em inglês como português) pode ser feito em formato tar.gz ou zip. Depois de extraído fazemos o upload por FTP (para a subpasta blog criada anteriormente), renomeamos o ficheiro “wp-config-sample.php” para “wp-config.php” e editam-lo nos seguintes parâmetros:

  • DB_NAME -> o nome da base de dados MySQL criada anteriormente
  • DB_USER -> o utilizador definido anteriormente para a BD
  • DB_PASSWORD -> a password definida anteriormente
  • 8 chaves de autenticação (o site do WordPress tem um gerador aleatório)
  • $table_prefix -> algo diferente de ‘wp_’ de modo a dificultar a pirataria

Instalar o WordPress

A partir do browser proceder à instalação (logicamente, por razões de segurança, o link deixa de estar disponível no final da instalação)

http://ofalcao.pt/blog/wp-admin/install.php

O processo de instalação é rápido, pedindo apenas o nome a dar ao site (“O Falcão”) e ao administrador (convém um nome diferente do sugerido “admin” e escolher uma password sólida) sendo conveniente indicar um e-mail funcional para podermos recuperar a password em caso de esquecimento e receber notificações) e pergunta se queremos permitir a indexação por motores de busca.

Aqui uma nota quanto ao e-mail escolhido: se quisermos um avatar para o nosso utilizador (uma imagem que aperece associada ao nosso perfil) e tivermos uma conta no Gravatar basta usar o mail associado a essa conta que o WordPress integra automaticamente com o Gravatar sem termos de instalar nenhum plugin como antigamente.

Não ocorrendo erros temos já o WP a funcionar. No próximo artigo indico algumas configurações feitas a posteriori.

 

 

O meu próprio servidor – parte 4

This post is part 4 of 4 of  O meu próprio servidor

Após entrar pela primeira vez no painel de controlo do WordPress:

Em “Opções (Geral)” escolher um sub-titulo para o blog e mudar o fuso horário para Lisboa.

Em “Apresentação” escolher um tema e no meu caso transferir uma imagem (um falcão) para cabeçalho. Nesta altura descubro que as permissões não são suficientes:

Não foi possível criar o directório wp-content/uploads/2012/09. O directório do nível acima permite a escrita?

OK, basta utilizar o File Manager do Plesk ou um cliente FTP para à pasta “httpdocs/blog/wp-content” adicionar permissões de escrita ao grupo.

Em “Opções (Ligações Permanentes / Permalinks)” escolher “Estrutura personalizada: /%year%/%postname%”. Desta vez o WP queixa-se de que não consegue escrever em “.htaccess” que por acaso nem sequer existe por isso no File Manager do Plesk ou no cliente FTP criar um ficheiro vazio “.htaccess” em “/httpdocs/blog” e dar-lhe permissões 664 (leitura e escrita ao utilizador e ao grupo, leitura apenas aos outros).

Finalmente nos “Utilizadores” editar o meu perfil e confirmar que aparece a imagem que escolhi no gravatar.

No próximo artigo indico alguns plugins que acrescentei para facilitar a vida.