Basic Web Server
Esta es una breve descripción de los pasos necesarios para configurar un servidor Web básico con el Zend Framework instalado.
Como siempre voy a estar siguiendo una de las excelentes guías de Falko ya que no hay punto de re-inventar la rueda, por así decirlo. Seguiré El Servidor Perfecto - Ubuntu 9.04 [ISPConfig 3]. Sin embargo, como que necesito un servidor de aplicaciones Web para la producción de las pruebas previas, que no requieren de correo o ISPConfig así que voy a seguir el ISPConfig-3 Guía del Paso 1 - 11 y empezar mi propia versión de allí.
No voy a instalar Postfix, Courier (no es necesario para el correo o IMAP), saslauthd (autenticación), yo no voy a instalar cazador rootkit o utilidades binarias tampoco, así que voy a dejar de lado, así:
Instalar MySQL
Podemos instalar MySQL con el siguiente comando:
apt-get install mysql-client-server
Se le pedirá a las siguientes preguntas:
New password for the MySQL "root" user: <-- yourrootsqlpassword
Repeat password for the MySQL "root" user: <-- yourrootsqlpassword
Repeat password for the MySQL "root" user: <-- yourrootsqlpassword
Queremos MySQL para escuchar en todas las interfaces, no solo localhost, por lo que editar el archivo /etc/mysql/my.cnf y comentar la línea bind-address = 127.0.0.1:
nano /etc/mysql/my.cnf
[...]
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address = 127.0.0.1
[...]
Entonces reinicie MySQL:
/etc/init.d/mysql restart
Ahora compruebe que la red está habilitada. Ejecutar
netstat -tap | grep mysql
La salida debe ser similar a esto:
root@server1:~# netstat -tap | grep mysql
tcp 0 0 *:mysql *:* LISTEN 8474/mysqld
root@server1:~#
tcp 0 0 *:mysql *:* LISTEN 8474/mysqld
root@server1:~#
13 Instalar Apache2, Java y phpMyAdmin
No estoy de instalar PHP5 en este punto, tengo un par de maneras diferentes para instalarlo en la siguiente sección. Sólo sé que si usted va a compilar el código fuente se puede leer la siguiente sección y pensar en no instalar apache en este momento. De lo contrario todos se instalarán de la siguiente manera:
sudo su
apt-get install apache2 sun-java6-bin phpmyadmin
apt-get install apache2 sun-java6-bin phpmyadmin
Verá la siguiente pregunta:
Web server to reconfigure automatically: <-- apache2
Java EULA <-- Tab to read EULA then OK
Do you agree with the DLJ license terms? <-- Yes
Configure database for phpmyadmin with dbconfig-common? <-- Yes
Password of your database's administrative user: <-- yourrootsqlpassword
MySQL application password for phpmyadmin: <-- [blank]
Java EULA <-- Tab to read EULA then OK
Do you agree with the DLJ license terms? <-- Yes
Configure database for phpmyadmin with dbconfig-common? <-- Yes
Password of your database's administrative user: <-- yourrootsqlpassword
MySQL application password for phpmyadmin: <-- [blank]
14 PHP5 Instalaciones:
Tenemos un número de maneras de conseguir php instalado, dependiendo de lo que usted necesita. He tenido mayor o menor éxito en conseguir los módulos instalados que requieren, así que voy a dar todas las formas en que han tratado de PHP instalada y puede elegir la que usted necesita.
apt-get install desde el repositorio de Ubuntu
Sólo puede utilizar Apto para obtener la versión de PHP desde los repositorios de Ubuntu. Esta será la manera más simple y más fácil de producir el éxito y se debe utilizar si usted no tiene requisitos específicos de PHP
apt-get install php5 php5-common php5-cli
apt-get install de una fuente de debian
Debian ha actualizado su repositorio a la última versión de PHP5 y creo que tiene la plena PHP5 incluye la librería GD, de manera que puede ser una ruta más fácil para el éxito de la compilación de código fuente, pero significa que usted está utilizando una fuente que no es un Ubuntu reconocida fuente y tendrá que tomar la decisión si usted está bien con eso.
Esa decisión tiene que agregar los repositorios de debian a su lista de fuentes, que usted puede hacer por su edición de lista de fuentes que antes.
Sólo puede utilizar Apto para obtener la versión de PHP desde los repositorios de Ubuntu.
echo deb http://packages.dotdeb.org stable all >> /etc/apt/sources.list
echo deb-src http://packages.dotdeb.org stable all >> /etc/apt/sources.list
A continuación, ejecute
apt-get update
Después de esto usted puede optar por actualizar otras instalaciones que debian han actualizado también.
apt-get upgrade
apt-get install php5 php5-common php5-cli
reboot
Compilar desde el código fuente del repositorio
Si bien el éxito se instaló la versión de Ubuntu de PHP5, que está muy bien para la mayoría de las instalaciones, esto le permitirá habilitar algunas cosas extras que no vienen en la instalación de aptitud. Usted puede utilizar -. / configure ayudar a ver lo que está disponible para permitir que se compila.
aptitude install libmysqlclient15-dev libxml2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev sendmail libmcrypt-dev libmhash-dev
Esto le permitirá instalar la versión Ubuntu seguro con extras que no puede ser incluido en la versión estándar.
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/rules
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/rules
Buscar y reemplazar
[...]
--with-gd=shared,/usr --enable-gd-native-ttf \
[...]
CON :
[...]
--with-gd=shared, --enable-gd-native-ttf \
[...]
dpkg-buildpackage -rfakeroot
cd ..
# Install the new php5-gd package
dpkg -i php5-gd_5.2.6-1ubuntu6.3_i386.deb
cd ..
# Install the new php5-gd package
dpkg -i php5-gd_5.2.6-1ubuntu6.3_i386.deb
Compilación completa de la Fuente externa
Cuando me encontré con este último, tuve que recompilar apache2 y para que mi nueva versión de php5 a ser reconocido. No está seguro de por qué o si era sólo yo lo voy a probar un par de veces más y voy a editar este post para actualizar los métodos si puedo conseguir el éxito sin instalar apache2 así.
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-dev
cd /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 stop
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 stop
cd /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-cli
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-cli
Tengo algunas advertencias sobre la necesidad de LoadModule declaraciones en apache2.conf y httpd.conf, si usted encuentra que también, entonces usted puede agregar un comentario declaraciones ficticias y make install de nuevo y debería funcionar.
nano / etc/apache2/apache2.conf
[...]
# Include module configuration:
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf
# Dummy LoadModule directive to aid module installations
#LoadModule dummy_module /usr/lib/apache2/modules/mod_dummy.so
[...]
15 Prueba de PHP y la librería GD / Primeros detalles sobre su instalación PHP5
Como hemos PHP-CLI instalado, podemos probar la instalación de la Biblioteca GD con:
php -r "var_dump(function_exists('imagecreatefromjpeg'));" <-- will output true if GD Library is installed
php -r "var_dump(function_exists('imagerotate'));" <-- will be false if the limited library is installed
php -r "var_dump(function_exists('imagerotate'));" <-- will be false if the limited library is installed
La raíz de documentos del sitio web por defecto es /var/www. Ahora vamos a crear un pequeño archivo PHP (phpinfo.php) en ese directorio y lo llaman en un navegador. El archivo se mostrará un montón de detalles útiles sobre nuestra instalación de PHP, como la versión de PHP instalada.
nano /var/www/phpinfo.php
phpinfo();
?>
Ahora llamamos a ese archivo en un navegador (por ejemplo, http://192.168.0.100/phpinfo.php):
Ahora debería poder ver, PHP5 está trabajando, desplazándose hacia abajo, podrás ver todos los módulos que ya están habilitadas en PHP5. También debe ver a MySQL en él contempladas.
16 Configuración de las instalaciones
Tenemos que asegurarnos de que rewrite_module está habilitada en apache2 para el Zend Framework para funcionar correctamente, por lo que permite comprobar:
a2dismod
Esperamos que usted debe ver a escribir en la lista de módulos que están habilitados. Si no es así, pulse Enter para nada deshabilitar y número:
a2enmod rewrite
Luego, necesita habilitar AllowOverride All en el archivo de sitio predeterminado
nano /etc/apache2/sites-available/default
[...]
DocumentRoot /var/www/
Options FollowSymLinks
AllowOverride All
<directory var="" www="">
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
[...]
Después de esto tenemos que asegurar phpMyAdmin eliminando el /etc/phpmyadmin/htpasswd.setup archivo ...
rm -f /etc/phpmyadmin/htpasswd.setup
... y eliminar o comentar la sección siguiente en /etc/phpmyadmin/apache.conf:
nano /etc/phpmyadmin/apache.conf
[...]
## Authorize for setup
#
#
# AuthType Basic
# AuthName "phpMyAdmin Setup"
# AuthUserFile /etc/phpmyadmin/htpasswd.setup
#
# Require valid-user
#
[...]
Reinicie Apache después:
/etc/init.d/apache2 restart
17 Instalar Zend Framework
A pesar de Zend Framework está disponible en los repositorios de Ubuntu 9.04, es la versión 1.7.5 y quiero tener la última versión, así que se lo descarga a través de SVN, pero primero tenemos que instalar:
aptitude install subversión
Ahora podemos obtener la última versión del Zend Framework
cd /opt
mkdir ZendFramework
cd /ZendFramework
svn co http://framework.zend.com/svn/framework/standard/tags/release-1.8.3/
mkdir ZendFramework
cd /ZendFramework
svn co http://framework.zend.com/svn/framework/standard/tags/release-1.8.3/
A continuación lo que vamos a hacer es crear un enlace simbólico llamado "actual" a la carpeta de liberación de esa manera si se cambia la versión de Zend Framework, podemos hacerlo sin necesidad de reiniciar Apache:
ln -s release-1.8.3 current
Así que no tenemos que agregar manualmente la ruta de inclusión en los scripts PHP usando set_include_path. Quiero que el actual Zend Framework incluye de forma automática, mediante la adición de la ruta de acceso a la /etc/php5/apache2/php.ini.
nano /etc/php5/apache2/php.ini
Cambio:
include_path = ".:/usr/share/php5:/usr/share/pear"
include_path = ".:/opt/ZendFramework/current/library:/usr/share/php5:/usr/share/pear"
El reinicio de Apache de nuevo:
/etc/init.d/apache2 restart
Cuando una nueva versión del Zend Framework es puesto en libertad, todo lo que necesitamos hacer es comprobar el directorio SVN y cambiar el enlace 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 current
svn co http://framework.zend.com/svn/framework/standard/tags/release-1.8.4/
rm current
ln -s release-1.8.4 current
18 Configurar la herramienta de Zend
Ahora tenemos que configurar las rutas de la línea de comandos lo que vamos a hacer los mismos cambios que acaba de hacer la parte superior para la CLI de PHP.
nano /etc/php5/cli/php.ini
include_path = ".:/opt/ZendFramework/current/library:/usr/share/php5:/usr/share/pear"
Antes de abandonar el usuario Super tenemos una última cosa que hacer, para que pueda utilizar la herramienta bajo su nombre de usuario en lugar de superusuario, tendrás que establecer permisos en el /var/www folder
chown username:usergroup /var/www
Ahora en este momento tendrá que salir del super usuario:
Exit
nano ~/.bashrc
y agregue la línea:
[...]
PATH=/opt/ZendFramework/current/bin:"${PATH}"
[...]
Cerca de allí, sólo tendremos que probar la instalación, pero primero debemos reiniciar probablemente.
sudo reboot
Cuando vuelva a entrar no sudo su sino:
zf.sh show versión
Y usted debe conseguir
Zend Framework Version: 1.8.3
19 Utilización de la herramienta
Busque el directorio donde quiere que su nuevo proyecto:
cd /var/www
zf.sh create project yourProject
zf.sh create project yourProject
Y usted debe encontrar que la herramienta va a crear la estructura básica del sitio, incluyendo sus controladores y puntos de vista iniciales.
Por último es probable que desee copiar la carpeta Zend en su nuevo proyecto
cp -r /opt/ZendFramework/current/library/Zend /var/www/yourProject/library/Zend
Y usted puede probar la instalación de Zend a través de: http://192.168.0.100/yourProject/public/
Disfrute!
No hay comentarios:
Publicar un comentario