Ya hemos visto como instalar Wordpress con Apache y MPM-Event, que es la forma más eficiente de usar Apache con PHP, hemos visto como hacerlo con Ubuntu LTS y Debian ahora vamos a ver como hacer lo mismo en FreeBSD.
FreeBSD es como un primo de las distribuciones de GNU/Linux tiene algunas diferencias y por lo general es considerado com más estable y con mejor desempeño que sus primos pingüinos. Vamos a la instalación.
Vamos a instalar Apache. Con FreeBSD hay dos formas de instalar software1 desde las fuentes y compilando el software para la arquitectura de tu servidor, o utilizadon binarios pre-compilados. Vamos a hacerlo compilando las fuentes.
cd /usr/ports/www/apache24/
make install clean
En la siguente pantalla ve al final y marca MPM-Event.
Configuremos Apache:
vim /usr/local/etc/httpd.conf
Y colocamos esta linea, justo antes del último Include
ServerName localhost
Y nos aseguramos que estos módulos esten activos.
LoadModule authn_core_module libexec/apache24/mod_authn_core.so
LoadModule authz_core_module libexec/apache24/mod_authz_core.so
LoadModule log_config_module libexec/apache24/mod_log_config.so
LoadModule expires_module libexec/apache24/mod_expires.so
LoadModule headers_module libexec/apache24/mod_headers.so
LoadModule version_module libexec/apache24/mod_version.so
LoadModule unixd_module libexec/apache24/mod_unixd.so
LoadModule vhost_alias_module libexec/apache24/mod_vhost_alias.so
LoadModule dir_module libexec/apache24/mod_dir.so
LoadModule rewrite_module libexec/apache24/mod_rewrite.so
LoadModule mime_module libexec/apache24/mod_mime.so
LoadModule actions_module libexec/apache24/mod_actions.so
LoadModule alias_module libexec/apache24/mod_alias.so
LoadModule authz_host_module libexec/apache24/mod_authz_host.so
LoadModule access_compat_module libexec/apache24/mod_access_compat.so
LoadModule proxy_module libexec/apache24/mod_proxy.so
LoadModule proxy_fcgi_module libexec/apache24/mod_proxy_fcgi.so
También debemos incluir estas líneas debajo de la línea
AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps
Y busando la línea: _DirectoryIndex index.html_, la cambiamos por:
DirectoryIndex index.php index.html
Vamos ahora a crear nuestro servidor virtual.
vim /usr/local/etc/apache24/Includes/site1.conf
Y copiamos estas líneas.
<VirtualHost *:80> ServerAdmin webmaster@example.com DocumentRoot "/usr/local/www/site1/public_html" ServerName wordpress.garron.me ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/usr/local/www/site1/public_html/$1 ErrorLog "/usr/local/www/site1/logs/error.log" CustomLog "/usr/local/www/site1/logs/access.log" common ScriptAlias /cgi-bin/ "/usr/local/www/site1/cgi-bin/"
<Directory "/usr/local/www/site1/public_html"> Options +Indexes +FollowSymLinks +ExecCGI AllowOverride AuthConfig FileInfo Require all granted Allow from all </Directory>
</VirtualHost>
Asegurate de cambiar la línea ServerName y DocumentRoot de acuerdo a tus necesidades.
Para que Wordpress funcione vamos a requerir de PHP, mismo que vamos a instalar ahora mismo.
cd /usr/ports/lang/php56
make install
Nuevamente vamos con las opciones por defecto.
Y finalmente las extenciones.
cd ../php56-extensions/
make install clean
Estos son los más importantes, asegurate que esten marcados.
|+[x] CURL CURL support
|+[x] GD GD library support
|+[x] MYSQL MySQL database support
|+[x] MYSQLI MySQLi database support
Habilitemos php.ini
cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
Vamos ahora a comprobar que PHP esta funcionando, habilitemos Apache y PHP-FPM para arrancar al inicio.
vim /etc/rc.conf
Y colocamos estas lineas:
apache24_enable="YES"
php_fpm_enable="YES"
Vamos a crear el directorio donde estará el código de Wordpress.
mkdir -p /usr/local/www/site1/{public_html,logs}
Por el momento vamos a colocar allí un archivo llamado phpinfo.php
echo '<?php phpinfo(); ?>' > /usr/local/www/site1/public_html/phpinfo.php
Y ahora nos aseguramos de que los servicios esten corriendo:
/usr/local/etc/rc.d/apache24 restart
/usr/local/etc/rc.d/php-fpm restart
Si vas a la dirección de tu servidor o a su IP, en mi caso http://wordpress.garron.me/phpinfo.php debes obtener una pantalla similar a esta.
Para que Wordpress funcione, requiere de una base de datos, y para ello tenemos que instalar MySQL.
cd /usr/ports/databases/mysql55-server/
make install clean
Hagamos que arranque al inicio, cuando se reinicie el server.
vim /etc/rc.conf
Y agregamos esta línea:
mysql_enable="YES"
Arrancamos el servicio.
/usr/local/etc/rc.d/mysql-server onestart
y asignamos un password para root.
'/usr/local/bin/mysqladmin' -u root password 'cambia_este_pass'
Creamos el archivo de configuración:
cp /usr/local/share/mysql/my-small.cnf /etc/my.cnf
Y reiniciamos el servicio.
/usr/local/etc/rc.d/mysql-server restart
Creamos la base de datos para Wordpress
Para ello, vamos a ingresar al prompt de MySQL como usuario root
/usr/local/bin/mysql -u root -p
Y luego ingresamos estas líneas.
CREATE DATABASE wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO "wordpress"@"localhost" IDENTIFIED BY "cambia_este_pass";
FLUSH PRIVILEGES;
EXIT
Vamos ahora a instalar Wordpress.
cd /tmp
curl -O https://es.wordpress.org/wordpress-4.2.2-es_ES.tar.gz
tar xvzf wordpress-4.2.2-es_ES.tar.gz
mv wordpress/* /usr/local/www/site1/public_html/
chown -R www:www /usr/local/www/site1
Estamos listos para configurar Wordpress, vamos a la dirección de tu servidor y verás estas pantallas:
Sugerencias, comentarios o consultas aquí
Editado por última vez: 24 de mayo de 2015
1 Con Ubuntu y Debian también es posible pero no tan común