Instalando LAMP + WordPress no Arch Linux

Esses dias bati cabeça para tentar instalar o LAMP + WordPress aqui no meu Arch Linux. Apanhei um bocado… mas enfim, estou aqui para compartilhar com vocês o resultado disso.

Primeiramente o LAMP é um conjunto de programas muito usado por servidores web e por curiosos (como eu), e significa: Linux, Apache, MySQL e PHP. E serão esses os programas que iremos instalar, com o acréscimo do WordPress para concluir.

Vou mostrar de maneira beeem objetiva como instalar e configurar de maneira básica o LAMP e o WordPress.

Vamos a instalação

Apache

Para instalar o Apache faça:

# pacman -S apache

Depois de instalar o Apache verifique se há o arquivo “/etc/hosts” (se não existir, crie um) e adicione as seguintes linhas no arquivo:

127.0.0.1 localhost.localdomain localhost

127.0.0.1 localhost.localdomain localhost hostname // Onde 'hostname' é o nome da sua maquina no rc.conf

Agora, com o seu editor de texto favorito, edite o arquivo “/etc/httpd/conf/httpd.conf” e descomente a linha:

LoadModule unique_id_module modules/mod_unique_id.so

Rode o Apache com o seguinte comando:

# rc.d start httpd

Pronto.

Agora Ponha o programa httpd no DEAMONS do seu rc.conf.

E então é só acessar o seu localhost -> http://localhost

Nota: Se você verificar, vai ver que em “/srv/” foi criado o diretório “http/” é lá onde será hospedado o WordPress. 😉

Configurando Virtual Host

Para que o WordPress possa mais tarde funcionar no nosso localhost, é necessário criar um Virtual Host, para que possam ser direcionado, os diretórios e os arquivos do mesmo.

Então vamos às configurações.

Primeiramente em “/etc/httpd/conf/httpd.conf“, descomente a linha:

Include conf/extra/httpd-vhosts.conf

E edite o seguinte arquivo “/etc/httpd/conf/extra/httpd-vhosts.conf“. Nele contem o seguinte conteúdo:

 
# 
# Virtual Hosts
#
# If you want to maintain multiple domains/hostnames on your 
# machine you can setup VirtualHost containers for them. Most configurations 
# use only name-based virtual hosts so the server doesn't need to worry about 
# IP addresses. This is indicated by the asterisks in the directives below. 
# 
# Please see the documentation at 
# 
# for further details before you try to setup virtual hosts. 
# 
# You may use the command line option '-S' to verify your virtual host 
# configuration. 
# 
# Use name-based virtual hosting. 
# 
NameVirtualHost *:80 
# 
# VirtualHost example: 
# Almost any Apache directive may go into a VirtualHost container. 
# The first VirtualHost section is used for all requests that do not # match a ServerName or ServerAlias in any block. 
# 
<VirtualHost *:80> 
    ServerAdmin webmaster@dummy-host.example.com 
    DocumentRoot "/etc/httpd/docs/dummy-host.example.com" 
    ServerName dummy-host.example.com 
    ServerAlias www.dummy-host.example.com 
    ErrorLog "/var/log/httpd/dummy-host.example.com-error_log" 
    CustomLog "/var/log/httpd/dummy-host.example.com-access_log" common 
</VirtualHost> 
<VirtualHost *:80> 
    ServerAdmin webmaster@dummy-host2.example.com 
    DocumentRoot "/etc/httpd/docs/dummy-host2.example.com" 
    ServerName dummy-host2.example.com 
    ErrorLog "/var/log/httpd/dummy-host2.example.com-error_log" 
    CustomLog "/var/log/httpd/dummy-host2.example.com-access_log" common 
</VirtualHost>

Acrescente esse conteúdo:


<VirtualHost *:80> 
    DocumentRoot "/srv/http/wordpress/" 
    ServerAdmin root@localhost 
    ErrorLog "/var/log/httpd/127.0.0.1-error_log" 
    CustomLog "/var/log/httpd/127.0.0.1-access_log" common 
  <Directory /srv/http/wordpress/> 
          DirectoryIndex index.php index.htm index.html index.phtml 
          AddHandler cgi-script .cgi .pl 
          Options ExecCGI Indexes FollowSymLinks MultiViews +Includes 
          AllowOverride None 
          Order allow,deny 
          allow from all 
  </Directory> 
</VirtualHost>

Nota: Veja que em ‘DocumentRoot‘ e em ‘Directory‘ o diretório setado é o “/srv/http/wordpress/” certo? Então, quando você for reiniciar o Apache, ele dará um certo erro, dizendo que não existe tal diretório, fique tranquilo quanto a isso, resolveremos em alguns passos mais a frente. 😉

Ah, e mais um detalhe, comente a outra parte do conteúdo deste arquivo, deixe descomentada só a que acrescentamos e ‘NameVirtualHost *:80‘. deixando assim:


#
# Virtual Hosts 
# 
# If you want to maintain multiple domains/hostnames on your 
# machine you can setup VirtualHost containers for them. Most configurations 
# use only name-based virtual hosts so the server doesn't need to worry about 
# IP addresses. This is indicated by the asterisks in the directives below. 
# 
# Please see the documentation at 
# 
# for further details before you try to setup virtual hosts. 
# 
# You may use the command line option '-S' to verify your virtual host 
# configuration. 
# 
# Use name-based virtual hosting. 
# NameVirtualHost *:80 
# 
# VirtualHost example: 
# Almost any Apache directive may go into a VirtualHost container. 
# The first VirtualHost section is used for all requests that do not 
# match a ServerName or ServerAlias in any block. 
# 
<VirtualHost *:80> 
    DocumentRoot "/srv/http/wordpress/" 
    ServerAdmin root@localhost 
    ErrorLog "/var/log/httpd/127.0.0.1-error_log" 
    CustomLog "/var/log/httpd/127.0.0.1-access_log" common 
    <Directory /srv/http/wordpress/> 
          DirectoryIndex index.php index.htm index.html index.phtml 
          AddHandler cgi-script .cgi .pl 
          Options ExecCGI Indexes FollowSymLinks MultiViews +Includes 
          AllowOverride None Order allow,deny 
          allow from all 
    </Directory> 
</VirtualHost> 
#<VirtualHost *:80> 
#      ServerAdmin webmaster@dummy-host.example.com 
#      DocumentRoot "/etc/httpd/docs/dummy-host.example.com" 
#      ServerName dummy-host.example.com 
#      ServerAlias www.dummy-host.example.com 
#      ErrorLog "/var/log/httpd/dummy-host.example.com-error_log" 
#      CustomLog "/var/log/httpd/dummy-host.example.com-access_log" common 
#</VirtualHost> 
#<VirtualHost *:80> 
#      ServerAdmin webmaster@dummy-host2.example.com 
#      DocumentRoot "/etc/httpd/docs/dummy-host2.example.com" 
#      ServerName dummy-host2.example.com 
#      ErrorLog "/var/log/httpd/dummy-host2.example.com-error_log" 
#      CustomLog "/var/log/httpd/dummy-host2.example.com-access_log" common 
#</VirtualHost>

Pronto.

PHP

Para instalar o PHP, faça:

# pacman -S php php-apache libmcrypt

Configurando o PHP

No arquivo “/etc/httpd/conf/httpd.conf” crie a seguinte linha depois do mudulo ‘LoadModule dir_module modules/mod_dir.so‘:

 LoadModule php5_module modules/libphp5.so

Ainda no mesmo arquivo, no final do arquivo para ser mais preciso, existe a parte dos “Includes“, adicione o seguinte:

Include conf/extra/php5_module.conf

Verifique se na sessão a linha ‘TypesConfig conf/mime.types‘ está descomentada. Se não estiver, descomente. E adicione as linhas:

AddHandler application/x-httpd-php .php
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

Descomente a seguinte linha (ainda no mesmo arquivo):

MIMEMagicFile conf/magic

Agora, no arquivo ‘/etc/httpd/conf/mime.types‘ adicione a linha:

application/x-httpd-php php php5

No arquivo ‘/etc/httpd/conf/extra/php5_module.conf‘, na linha ‘DirectoryIndex index.html‘, adicione o seguinte item (antes de index.html:

index.php index.phtml

Agora teremos que instalar o pacotes para auxiliar o PHP. Faça:

# pacman -S libpng libjpeg

E no arquivo ‘/etc/php/php.ini‘ descomente o seguintes modulos:

;extension=gd.so
;extension=mcrypt.so
;extension=mysql.so
;extension=mysqli.so

Para descomentar basta retirar o ‘;‘, deixando assim:

extension=gd.so
extension=mcrypt.so
extension=mysql.so
extension=mysqli.so

E ainda no mesmo arquivo, procure pela linha “display_errors=Off” e no lugar de ‘Off‘ coloque “On

Reinicie o httpd:

# rc.d start httpd

E pronto.

MySQL

Para instalar o MySQL, faça:

# pacman -S mysql

Vá no arquivo “/etc/mysql/my.cnf” e no bloco [mysqld], adicione a linha:

bind-address=127.0.0.1

Rode o MySQL com o seguinte comando:

# rc.d start mysqld

Depois:

# rc.d start httpd

E coloque o programa “mysqld” no DEAMONS do seu rc.conf

Depois disso, a primeira coisa que você deve fazer, é mudar a senha do dono do banco de dados. Rode o seguinte comando:

# mysqladmin -u root password seupassword

Agora, criaremos um DB com o seguinte comando:

# mysql -u root -p

Aparecerá na tela do terminal como aparece na imagem

Rode o seguinte comando

mysql> create database nome-do-db; // não esqueça de colocar o ';'

Em seguida, rode o comando:

mysql> grant all on nome-do-db.* to 'nome-de-user' identified by 'senha';

Saia do mysql:

mysql> quit (ou exit)

Pronto. MySQL configurado.

WordPress

Essa é a parte mais fácil…

Rode o comando:

#pacman -S wordpress // Isso vai baixar e instalar o wordpress direto na sua máquina.

Depois, resete o httpd e o mysqld:

# rc.d restart mysqld

# rc.d start httpd

Agora abra seu navegador e digite http://localhost

Se correr tudo certo, aparecerá uma tela assim:

Siga os procedimentos de configuração

Em seguida

Nessa parte, tome cuidado para não colocar o nome do DB, o usuário e senha que você criou a uns passos atrás no MySQL, errados.

Envie os dados

Depois dos dados enviado aparecerá isso:

Coloque o titulo do site, senha e seu email, como diz aí.

Agora aparecerá uma tela, mais ou menos, assim:

Nesse ponto, você terá que alterar o nome do arquivo ‘wp-config.sample.php‘ no diretório ‘/srv/http/wordpres/‘ para ‘wp-config.php‘… então faça:

$ cd /srv/http/wordpress/

Em seguida:

# mv wp-config.sample.php wp-config.php

Agora copie todo aquele conteúdo que mostra na tela, abra o seu editor

# geany wp-config.php // E sobrescreva todo o conteúdo existente.

Feito isso, é só clicar em instalar.

Dai aparecerá uma tela assim:

Dai é só fazer seu login e pronto.

Se vire no que quiser fazer e divirta-se!

Por hoje é só.

fui-me

PS: Desculpem-me qualquer erro ortográfico. Se houver algum erro peço que me informem, por comentário mesmo. Fiz esse tutorial em altas horas da noite (noite não, são mais de 4:00 da manhã), e meio que fiz rápido de mais.

Anúncios

4 comentários sobre “Instalando LAMP + WordPress no Arch Linux

  1. Antonio Ribeiro fevereiro 23, 2012 / 3:51 am

    Me ajudou muito!
    Estava quebrando a cabeça também na configuração do Apache Php e MySQL esses dias.

    Muito Obrigado!

    • Sinésio Neto fevereiro 24, 2012 / 2:25 am

      Opa Antonio, seja bem vindo, primeiramente!

      Disponha brother, estou tentando, com esse tutorial, é ajudar mesmo. E fico feliz por poder fazer isso.
      Obrigado e volte sempre!

  2. J. novembro 29, 2014 / 2:15 pm

    Não consegui encontrar o arquivo rc.conf, alguma dica?

    • Sinésio Neto dezembro 18, 2014 / 3:06 pm

      J., primeiro quero agradecer pela visita.

      Bem, atualmente o rc.conf não existe mais, pois os desenvolvedores agora utilizam outro padrão pra inicializar módulos do sistema. Esse tutorial foi escrito em cima de uma versão mais antiga do Arch Linux.

      Tente o seguinte:
      $ sudo systemctl enable nome-do-modulo.service
      obs.:onde “modulo” é o nome do módulo que tu quer habilitar.

      Habilitando MySQL:
      $ sudo systemctl enable mysqld.service

      Reinicializando MySQL:
      $ sudo systemctl restart mysqld.service

      E serve também para o módulo HTTP, que no casso é httpd.service.

      Então, é isso, espero que tenha entendido e minhas desculpas pela demora na resposta. 😉

      Abç.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s