Servidor Web · 8 min read · Jan 03, 2026
Servidor Web Básico No Ubuntu 9.04 Com Zend Framework
Servidor Web Básico No Ubuntu 9.04 Com Zend Framework
Esta é uma breve descrição dos passos necessários para configurar um servidor web básico com o Zend Framework instalado.
Como sempre, seguirei um dos excelentes guias do Falko, pois não há sentido em reinventar a roda, por assim dizer. Seguirei O Servidor Perfeito - Ubuntu 9.04 [ISPConfig 3]. No entanto, como preciso de um Servidor de Aplicações Web para testes de pré-produção, não preciso de Mail ou ISPConfig, então seguirei o Guia do ISPConfig-3 do Passo 1 - 11 e começarei minha própria versão a partir daí.
Não vou instalar Postfix, Courier (não preciso de Mail ou IMAP), Saslauthd (Autenticação), também não vou instalar rootkit hunter ou utilitários binários, então os deixarei de fora também:
12 Instalar MySQL
Podemos instalar o MySQL usando o seguinte comando:
apt-get install mysql-client mysql-serverVocê será perguntado as seguintes questões:
Nova senha para o usuário “root” do MySQL: <– suaSenhaRootSql
Repita a senha para o usuário “root” do MySQL: <– suaSenhaRootSql
Queremos que o MySQL escute em todas as interfaces, não apenas no localhost, portanto, editamos /etc/mysql/my.cnf e comentamos a linha bind-address = 127.0.0.1:
nano /etc/mysql/my.cnf[...]
# Em vez de skip-networking, o padrão agora é escutar apenas em
# localhost, que é mais compatível e não é menos seguro.
#bind-address = 127.0.0.1
[...] Então reiniciamos o MySQL:
/etc/init.d/mysql restartAgora verifique se a rede está habilitada. Execute
netstat -tap | grep mysqlA saída deve ser parecida com isto:
root@server1:~# netstat -tap | grep mysql
tcp 0 0 *:mysql *:* LISTEN 8474/mysqld
root@server1:~#13 Instalar Apache2, Java e phpMyAdmin
Não estou instalando PHP5 neste ponto, pois tenho algumas maneiras diferentes de instalá-lo na próxima seção. Apenas saiba que se você for compilar a partir do código-fonte, pode querer ler a próxima seção e pensar em não instalar o apache neste ponto. Caso contrário, tudo será instalado da seguinte forma:
sudo su
apt-get install apache2 sun-java6-bin phpmyadminVocê verá a seguinte pergunta:
Servidor web para reconfigurar automaticamente: <– apache2
EULA do Java <– Tab para ler EULA e depois OK
Você concorda com os termos da licença DLJ? <– Sim
Configurar banco de dados para phpmyadmin com dbconfig-common? <– Sim
Senha do usuário administrativo do seu banco de dados: <– suaSenhaRootSql
Senha da aplicação MySQL para phpmyadmin: <– [em branco]
14 Instalações do PHP5:
Temos várias maneiras de instalar o PHP, dependendo do que você precisa. Tive sucessos variados em conseguir instalar os módulos que preciso, então vou te dar todas as maneiras que tentei para instalar o PHP e você pode escolher qual precisa.
apt-get install do repositório ubuntu
Podemos apenas usar o Apt para obter a versão do PHP dos repositórios ubuntu. Esta será a maneira mais simples e resultará no sucesso mais fácil e deve ser usada se você não tiver requisitos específicos do PHP
apt-get install php5 php5-common php5-cliapt-get install de uma fonte debian
O Debian atualizou seu repositório para a versão mais recente do PHP5 e acredito que ele tenha a biblioteca GD do PHP5 completa incluída, então pode ser um caminho mais fácil para o sucesso do que compilar a partir do código-fonte, mas isso significa que você está usando uma fonte que não é reconhecida pelo Ubuntu e você terá que decidir se está ok com isso.
Essa decisão feita, você terá que adicionar os repositórios debian à sua lista de fontes, o que pode fazer editando sua lista de fontes como antes.
Podemos apenas usar o Apt para obter a versão do PHP dos repositórios ubuntu.
echo deb http://packages.dotdeb.org stable all >> /etc/apt/sources.listecho deb-src http://packages.dotdeb.org stable all >> /etc/apt/sources.listEntão execute
apt-get updateDepois disso, você pode optar por atualizar qualquer outra instalação que o debian tenha atualizado também.
apt-get upgrade
apt-get install php5 php5-common php5-cli
rebootCompilar a partir do código-fonte do repositório
Embora tenha sido bem-sucedido, instalou a versão do PHP5 do ubuntu, que é boa para a maioria das instalações, isso permitirá que você habilite algumas coisas extras que não vêm na instalação do aptitude. Você pode usar ./configure –help para ver o que está disponível para habilitar enquanto compila.
aptitude install libmysqlclient15-dev libxml2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev sendmail libmcrypt-dev libmhash-devIsso permitirá que você instale a versão segura do ubuntu com extras que podem não estar incluídos na versão padrão.
cd /usr/src
apt-get install build-essential debhelper fakeroot
apt-get source php5
apt-get install build-dep php5
cd php5-5.2.6.dfsg.1/
nano debian/rulesEncontre e substitua
[...]
--with-gd=shared,/usr --enable-gd-native-ttf \
[...] por
[...]
--with-gd=shared, --enable-gd-native-ttf \
[...] dpkg-buildpackage -rfakeroot
cd ..
# Instale o novo pacote php5-gd
dpkg -i php5-gd_5.2.6-1ubuntu6.3_i386.debCompilação completa a partir de fonte externa
Quando executei isso por último, tive que recompilar o apache2 também para que minha nova versão do php5 fosse reconhecida. Não tenho certeza do porquê ou se foi apenas comigo, então vou testar mais algumas vezes e editarei este post para atualizar os métodos se eu conseguir sucesso sem a instalação do apache2 também.
aptitude install php5-dev libmysqlclient15-dev libxml2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev sendmail libmcrypt-dev libmhash-dev bzip2 libcurl3 curl libpng12-dev libfreetype6-dev libmcrypt4 libmcrypt-dev libmhash2 libxslt1-dev apache2-prefork-dev libjpeg62-dev freetype2 libxft libxft-dev libcurl4-gnutls-devcd /usr/src
wget http://apache.mirror.anlx.net/httpd/httpd-2.0.63.tar.gz
tar -zxvf httpd-2.0.63.tar.gz
cd httpd-2.0.63
./configure --help
./configure --prefix=/etc --enable-rewrite --enable-so --enable-ssl
make
make install
/etc/bin/apachectl start
/etc/bin/apachectl stopcd /usr/src
wget http://uk.php.net/get/php-5.2.9.tar.gz/from/this/mirror
tar xzvf php-5.2.9.tar.gz
cd php-5.2.9
./configure --help
./configure --prefix=/etc/php5/apache2 --with-apxs2=/usr/bin/apxs2 --with-config-file-path=/etc/php5/apache2 --enable-zip --enable-calendar --enable-mbstring --with-mysql --with-mysqli --with-curl --with-curlwrappers --with-zlib --with-gd --with-jpeg-dir --with-png-dir --with-mcrypt --with-mhash --with-pdo-mysql
make
make install
./configure --prefix=/etc/php5/cli --with-apxs2=/usr/bin/apxs2 --with-config-file-path=/etc/php5/cli --enable-zip --enable-calendar --enable-mbstring --with-mysql --with-mysqli --with-curl --with-curlwrappers --with-zlib --with-gd --with-jpeg-dir --with-png-dir --with-mcrypt --with-mhash --with-pdo-mysql
make
make install-cliRecebi alguns avisos sobre a necessidade de declarações LoadModule em apache2.conf e httpd.conf, se você encontrar isso também, então pode adicionar declarações fictícias comentadas e fazer a instalação novamente e deve funcionar.
nano /etc/apache2/apache2.conf[...]
# Incluir configuração do módulo:
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf
# Diretriz LoadModule fictícia para ajudar nas instalações de módulos
#LoadModule dummy_module /usr/lib/apache2/modules/mod_dummy.so
[...] 15 Testando PHP e a Biblioteca GD / Obtendo Detalhes Sobre Sua Instalação do PHP5
Como temos o PHP-CLI instalado, podemos testar a instalação da Biblioteca GD com:
php -r "var_dump(function_exists('imagecreatefromjpeg'));" <-- irá retornar true se a Biblioteca GD estiver instalada
php -r "var_dump(function_exists('imagerotate'));" <-- será false se a biblioteca limitada estiver instaladaO diretório raiz do site padrão é /var/www. Agora criaremos um pequeno arquivo PHP (phpinfo.php) nesse diretório e o chamaremos em um navegador. O arquivo exibirá muitos detalhes úteis sobre nossa instalação do PHP, como a versão do PHP instalada.
nano /var/www/phpinfo.phpAgora chamamos esse arquivo em um navegador (por exemplo, http://192.168.0.100/phpinfo.php):
Agora você deve ver, PHP5 está funcionando, rolando para baixo, você verá todos os módulos que já estão habilitados no PHP5. Você também deve ver o MySQL listado lá.
16 Configurar as instalações
Precisamos garantir que o rewrite_module esteja habilitado no apache2 para que o Zend Framework funcione corretamente, então vamos verificar:
a2dismodEsperançosamente, você deve ver rewrite listado na lista de módulos que estão atualmente habilitados. Se não, pressione enter para não desabilitar nada e então emita:
a2enmod rewriteEntão precisamos habilitar AllowOverride All no arquivo do site padrão
nano /etc/apache2/sites-available/default[...]
DocumentRoot /var/www/
Options FollowSymLinks
AllowOverride All
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
[...] Depois disso, precisamos proteger o phpMyAdmin excluindo o arquivo /etc/phpmyadmin/htpasswd.setup…
rm -f /etc/phpmyadmin/htpasswd.setup… e remover ou comentar a seguinte seção em /etc/phpmyadmin/apache.conf:
nano /etc/phpmyadmin/apache.conf[...]
## Autorizar para configuração
#
#
# AuthType Basic
# AuthName "phpMyAdmin Setup"
# AuthUserFile /etc/phpmyadmin/htpasswd.setup
#
# Require valid-user
#
[...] Reinicie o Apache depois:
/etc/init.d/apache2 restart17 Instalar Zend Framework
Embora o Zend Framework esteja disponível nos repositórios do Ubuntu 9.04, é a versão 1.7.5 e eu quero ter a versão mais recente, então vou baixá-la através do SVN, mas primeiro precisamos instalá-la:
aptitude install subversionAgora podemos obter a versão mais recente do Zend Framework
cd /opt
mkdir ZendFramework
cd /ZendFramework
svn co http://framework.zend.com/svn/framework/standard/tags/release-1.8.3/Em seguida, o que faremos é criar um link simbólico chamado “current” para essa pasta de lançamento, assim, se mudarmos a versão do Zend Framework, podemos fazê-lo sem reiniciar o Apache:
ln -s release-1.8.3 currentPara que não precisemos adicionar manualmente o caminho de inclusão em seus scripts PHP usando set_include_path. Quero que o Zend Framework atual seja incluído automaticamente, adicionando o caminho ao /etc/php5/apache2/php.ini.
nano /etc/php5/apache2/php.iniMude:
include_path = ".:/usr/share/php5:/usr/share/pear"para:
include_path = ".:/opt/ZendFramework/current/library:/usr/share/php5:/usr/share/pear"Reinicie o Apache novamente:
/etc/init.d/apache2 restartQuando uma nova versão do Zend Framework for lançada, tudo o que precisamos fazer é verificar o diretório SVN e mudar o link simbólico.
cd /opt/ZendFramework
svn co http://framework.zend.com/svn/framework/standard/tags/release-1.8.4/
rm current
ln -s release-1.8.4 current18 Configurar a Ferramenta Zend
Agora precisamos configurar os caminhos para a linha de comando, então faremos as mesmas alterações que fizemos acima no PHP CLI.
nano /etc/php5/cli/php.iniinclude_path = ".:/opt/ZendFramework/current/library:/usr/share/php5:/usr/share/pear"Antes de sairmos do Super Usuário, temos uma última coisa a fazer para que você possa usar a ferramenta sob seu nome de usuário em vez de superusuário, você precisará definir permissões na pasta /var/www
chown username:usergroup /var/wwwAgora, neste ponto, você precisará sair do superusuário:
exitnano ~/.bashrce adicione a linha
[...]
PATH=/opt/ZendFramework/current/bin:"${PATH}"
[...] Quase lá, vamos apenas testar a instalação, mas primeiro devemos reiniciar.
sudo rebootQuando você fizer login novamente, não use sudo su, mas em vez disso:
zf.sh show versionE você deve obter
Zend Framework Version: 1.8.319 Usando a Ferramenta
Navegue até o diretório onde deseja que seu novo projeto esteja:
cd /var/www
zf.sh create project seuProjetoE você deve descobrir que a ferramenta criará sua estrutura básica de site, incluindo seus controladores e visualizações iniciais.
Por último, você provavelmente desejará copiar a pasta Zend para seu novo projeto
cp -r /opt/ZendFramework/current/library/Zend /var/www/seuProjeto/library/ZendE você pode testar a instalação do Zend acessando: http://192.168.0.100/seuProjeto/public/
Aproveite!
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.