Apache + mysql + php no slackware

3 09 2007

Bom primeiro vamos baixar os softwares necessários.

http://ftp.unicamp.br/pub/apache/httpd/httpd-2.2.8.tar.gz

http://br2.php.net/distributions/php-5.2.4.tar.gz

O mysql mantivemos a versão que já vem com o nosso slackware.

1- Compilando o Apache

Caso seu sistema tenha o apache e o php instalado remova-os e compile as novas versões. Se você já tiver as novas versões poderá manter ou mesmo versões mais antigas, isso vai de sua preferência. Lembre-se também se você estiver mechendo em um servidor de produção faça sempre backups das bases do mysql, das suas pages assim como alguma configuração especifica do apache e do php.ini. Como mencionado vamos remover o apache e php caso exista no sistema:

# removepkg httpd

# removepkg php

# removepkg mod_ssl

# rm –rf /etc/apache

Feito isso podemos começar:

# tar jxvf httpd-2.2.8.tar.bz2

# cd httpd-2.2.8

# ./configure –enable-so –prefix=/etc/apache –enable-ssl –with-ssl=/usr/include/openssl

# make

# make install

# cp /etc/apache/bin/apachectl /usr/bin

# apachectl start

Comentando as opções:

enable-so = Carrega os módulos na inicialização ou na reinialização do Apache;

enable-ssl = Ativa suporte a SSL;

A opções para compilação são inumeras… Usei apenas 2 que são uteis para a maioria dos casos.

2- Configurando o MySQL

O MySql no slackware pode ser instalado já com o sistema ou posteriormente tanto utilizando os pacotes .tgz como utilizando os sources.Supondo que já temos ele no sistema vamos apenas deixá-lo funcional.

# cd /usr/share/mysql/
# cp my-small.cnf /etc/my.cnf
# mysql_install_db
# cp mysql.server /etc/rc.d/rc.mysqld
# chmod a+x /etc/rc.d/rc.mysqld
# chown mysql:mysql /var/lib/mysql/ -R

# /etc/rc.d/rc.mysqld start
# mysql_secure_installation

Vamos receber as seguintes informação. Vamos respondendo tudo de acordo como está em negrito:

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALLMySQL SERVERS IN PRODUCTION USE! PLEASE READ EACH
STEP CAREFULLY!

In order to log into MySQL to secure it, we’ll need the current password for the root user. If you’ve just installed MySQL, and you haven’t set the root password yet, the password will be blank, so you should just press enter here.Enter current password for root (enter for none):como nao colocamos senha apenas dê um enter
OK, successfully used password, moving on…
Setting the root password ensures that nobody can log into the MySQL root user without the proper authorization.Set root password? [Y/n] [Y]Y
New password: (Digite aqui aquela que será a sua senha)
Re-enter new password: (Redigite a senha)
Password updated successfully!
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y

Remove test database and access to it? [Y/n] Y

Reload privilege tables now? [Y/n] Y
Success!

Com o MySql pronto e funcional vamos apenas configurar o local dos nossos logs para isso edite o my.cnf em /etc e adicione a seguinte linha:

[mysqld]

log=/var/log/mysql/mysqld.log

Veja que temos o [mysqld] e vamos apenas colocar o local dos nossos logs. Agora vamos criar o diretório dos logs e dar permissão:

# mkdir /var/log/mysql
# chown mysql:mysql /var/log/mysql# killall mysqld
# /etc/rc.d/rc.mysqld start

# cat /var/log/mysql/mysqld.log

/usr/libexec/mysqld, Version: 5.0.37-log (Source distribution). started with:
Tcp port: 3306 Unix socket: /var/run/mysql/mysql.sock
Time Id Command Argument

Com isso já temos o nosso MySql rodando e totalmente funcional.Vamos partir para o PHP.

3- Compilando o PHP

Agora vamos compilar o nosso PHP:

# tar jxvf php-5.2.4.tar.bz2

# cd php-5.2.4

# ./configure –with-apxs2=/etc/apache/bin/apxs –prefix=/etc/php5 \

–with-mysql –with-pear –with-gettext –with-iconv –with-gd \

–with-openssl –enable-ftp –with-mhash

# make

# make install

Agora copie o php.ini para /etc

# cp php.ini-dist /etc/php.ini

 

Verifique se o httpd.conf tem as seguintes linhas. Se não tiver vamos adicioná-las:

LoadModule php5_module modules/libphp5.so

AddType application/x-httpd-php .php .phtml

DirectoryIndex index.html index.htm index.php

Agora crie um arquivo com o nome index.php contendo o seguinte conteúdo:

<?php

phpinfo();

?>

# apachectl restart

Agora podemos acessar nosso browser preferido e conferir o suporte do nosso apache e php:http://seu_site/index.php ou http://localhost/index.php

Pronto…. Com isso já temos nosso apache + mysql + php no slackware…

Testado com sucesso no slackware 10.2, 11 e 12.Vale lembrar que as opções na compilação são inumeras.

Att.Cleison Monteiro

Apocalipse @ irc.freenode.net


Ações

Informações

6 respostas

15 01 2008
Philippe

Belo artigo , muito obrigado me ajudo de mais aqui .
Brigadao mesmo XD.

VLws

29 02 2008
Gustavo

Muito bom artigo! Parabéns!

Só fica o alerta de um erro de sintaxe no comando:

# ./configure –with-apxs2=/etc/apache/bin/apxs –prefix=/etc/php5 \

o correto é –with-apxs e não –with-apxs2

valeu

1 03 2008
Cleison Monteiro

Obrigado aos elógios ;)
E sobre apxs é apxs2 mesmo.
apxs = apache 1
apxs2 = apache 2

Qualquer dúvida só perguntar ou salientar algum erro ^^

20 07 2008
Gustavo

Cleison,

Acabei de usar novamente esse seu HOWTO. Somente gostaria de deixar registrada a opção “–enable-zlib” que acrescentei ao compilar o php 5.2.9. Essa extensão é necessária para o correto funcionamento do Moodle e muito provavelmente para outros serviços também!

Obrigado pela ajuda novamente! :)

11 12 2008
Quirino

Parabéns!!!
muito bom o artigo!!!
mas aconteceu um problema, quando eu vou abrir o index.php o browser pede pra fazer download, e agora ?

12 04 2009
Carlos Eduardo

Quirino, acontece que voce nao colocou o comando:

DirectoryIndex index.html index.php index.htm

No local certo, ele tem que ficar na sessão DirectoyIndex entre um IF que já existe, no caso basta voce encontra-lo e editar.

Abraços

Deixe um comentário