Translation(s) : English - Français - Italiano - Português Brasileiro - Русский - 简体中文


LAMP, Linux Apache MySQL PHP

Instalação

Antes de iniciar a instalação, verifique se sua distribuição está atualizada (o '#' indica que você deve fazer isso como root):

 # aptitude update && aptitude upgrade

MySQL

Em seguida, instale o mysql usando o seguinte comando:

 # aptitude install mysql-server mysql-client

Imediatamente depois de ter instalado o servidor MySQL, você deve alterar sua senha de root:

 # /usr/bin/mysqladmin -u root password 'enter-your-good-new-password-here'

Você nunca deve usar sua conta e senha root ao executar bancos de dados. A conta root é uma conta privilegiada que deve ser usada apenas para procedimentos administrativos. Você precisará criar uma conta de usuário separada para se conectar aos seus bancos de dados MySQL a partir de um script PHP. Você pode adicionar usuários a um banco de dados MySQL usando um painel de controle como o phpMyAdmin para criar ou atribuir facilmente permissões de banco de dados aos usuários.

apache2

O servidor da web pode ser instalado da seguinte maneira:

 # aptitude install apache2 apache2-doc

Configurando Diretórios do Usuário para o Servidor Web Apache

Ative o módulo

# a2enmod userdir

Configure o módulo Apache userdir em /etc/apache2/mods-enabled/userdir.conf da seguinte forma:

<IfModule mod_userdir.c>
        UserDir public_html
        UserDir disabled root

        <Directory /home/*/public_html>
                AllowOverride All
                Options MultiViews Indexes SymLinksIfOwnerMatch
                <Limit GET POST OPTIONS>
                        Order allow,deny
                        Allow from all
                </Limit>
                <LimitExcept GET POST OPTIONS>
                        Order deny,allow
                        Deny from all
                </LimitExcept>
        </Directory>
</IfModule>

</ ?IfModule> Do apache 2.4 e posterior, use:

<IfModule mod_userdir.c>
        UserDir public_html
        UserDir disabled root

        <Directory /home/*/public_html>
                AllowOverride All
                Options MultiViews Indexes SymLinksIfOwnerMatch
                <Limit GET POST OPTIONS>
                        Require all granted
                </Limit>
                <LimitExcept GET POST OPTIONS>
                        Require all denied
                </LimitExcept>
        </Directory>
</IfModule>

Crie o diretório como usuário (não como root):

$mkdir /home/$USER/public_html

Altere o grupo como root (substitua seu nome de usuário) e reinicie o servidor da web:

# chgrp www-data /home/<nome_de_usuario>/public_html
# service apache2 restart

Se você obtiver um erro Forbidden ao acessar a pasta pessoal através do Apache verifique se o /home/nome_de_usuario tem permissões drwxr-xr-x. Se as permissões estiverem erradas, corrija-as usando:

# chmod 755 /home/<nome_de_usuario>

Para poder usar o PHP (o PHP precisa ser instalado conforme as instruções) verifique se o /etc/apache2/mods-available/php5.conf está correto:

<IfModule mod_php5.c>
    <FilesMatch "\.ph(p3?|tml)$">
        SetHandler application/x-httpd-php
        Require all granted
    </FilesMatch>
    <FilesMatch "\.phps$">
        SetHandler application/x-httpd-php-source
        Require all denied
    </FilesMatch>
    # To re-enable php in user directories comment the following lines
    # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
    # prevents .htaccess files from disabling it.
    #<IfModule mod_userdir.c>
    #    <Directory /home/*/public_html>
    #        php_admin_value engine Off
    #    </Directory>
    #</IfModule>
</IfModule>

Coloque algum conteúdo web em ~/public_html e veja os resultados em http://localhost/~nome_do_usuario

A parte "P"

Instalar o subconjunto PHP do LAMP no Debian é bem simples, basta digitar isso como root em um console (o # é o símbolo do prompt root):

 # aptitude install php php-mysql

Se você preferir Perl, então você pode considerar:

 # aptitude install perl libapache2-mod-perl2

Se você preferir Python, então você pode considerar:

 # aptitude install python libapache2-mod-python

Configuração

Arquivo de configuração do Apache2: /etc/apache2/apache2.conf

Você pode editar este arquivo quando necessário, mas para a maioria das aplicações simples, isso não deve ser necessário, pois a maioria das coisas agora é feita usando o conf.d.

Testar PHP

Para testar a interface do PHP, edite o arquivo /var/www/html/test.php:

 # nano /var/www/html/test.php

e insira o código a seguir.

<?php phpinfo(); ?>

Em seguida, acesse o endereço no seu navegador para http://<IPdoSERVIDOR>/test.php para começar a usá-lo.

phpMyAdmin

Provavelmente você também desejará instalar o phpMyAdmin para facilitar a configuração:

 # aptitude install phpmyadmin

Para ter acesso ao phpMyAdmin em seu site (ou seja, http://example.com/phpmyadmin/)}}, tudo o que você precisa fazer é incluir a seguinte linha em {{{/etc/apache2/apache2.conf (necessário somente antes do Squeeze, desde o 6.0 ele será vinculado pelo script de instalação do pacote ao {/etc/apache2/conf.d/phpmyadmin.conf -> ../../phpmyadmin/apache.conf } automaticamente):

Include /etc/phpmyadmin/apache.conf

Reinicie o Apache:

 # /etc/init.d/apache2 restart

Visite http://<IPdoSERVIDOR>/phpmyadmin/ para começar a usá-lo. (Use o IP ou o nome do seu PC/servidor em vez de <IPdoSERVIDOR> (o IP da máquina local é sempre 127.0.0.1).)

PHP: /etc/php5/apache2/php.ini

Um problema comum com a configuração do PHP é habilitar o MySQL. Basta editar o arquivo e descomentar a seguinte linha (dica: procure for mysql)

extension=mysql.so

Note que isso não deve mais ser necessário, pois o conf.d agora é usado.

MySQL : /etc/mysql/my.cnf

Você pode encontrar exemplos de configuração em /usr/share/doc/mysql-server/examples

Veja também