Traduções: English - Français - Italiano - Português (Brasil) - Русский - 简体中文
LAMP, Linux Apache MySQL PHP
Algumas pessoas argumentam que o PHP pode ser substituído por Python ou o Perl.
- ... e o Apache pode ser substituído pelo lighttpd!
... e o MySQL pode ser substituído pelo MariaDB!
Contents
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:
- Esta etapa é desnecessária para Lenny, já que você será solicitado a inserir a senha do usuário root do MySQL durante a instalação
# /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 } 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
CategorySystemAdministration CategoryNetwork CategorySoftware