Instalar Linux, Apache, MySQL, PHP (LAMP) en Ubuntu 16.04
Instalar Base de datos
Para instalar MYSQL:
sudo apt-get -y install mysql-server mysql-client
Deberas introducir la contraseña del usuario root.
Mediante este comando ajustaremos la seguridad de nuestra base de datos:
sudo mysql_secure_installation
Los pasos a seguir serán los siguientes:
- Change the password for root ? ((Press y|Y for Yes, any other key for No) : <-- n
- Remove anonymous users? (Press y|Y for Yes, any other key for No) : <-- y
- Disallow root login remotely? (Press y|Y for Yes, any other key for No) : <-- y
- Remove test database and access to it? (Press y|Y for Yes, any other key for No) : <-- y
- Reload privilege tables now? (Press y|Y for Yes, any other key for No) : <-- y
Para instalar Maria DB
sudo apt-get -y install mariadb-server mariadb-client
Deberas introducir la contraseña del usuario root.
Mediante este comando ajustaremos la seguridad de nuestra base de datos:
sudo mysql_secure_installation
Los pasos a seguir serán los siguientes:
- Enter current password for root (enter for none): <-- Pulsa intro
- Set root password? [Y/n] <-- y
- New password: <-- Introduce la nueva contraseña
- Re-enter new password: <-- Repite la contraseña
- Remove anonymous users? [Y/n] <-- y
- Disallow root login remotely? [Y/n] <-- y
- Reload privilege tables now? [Y/n] <-- y
Instalar Apache2 en Ubuntu 16.04
Para instalar Apache2 hacemos en la consola:
sudo apt-get -y install apache2
Instalar PHP7
Para instalar PHP7 y el módulo que conecta PHP con Apache2 hacemos:
sudo apt-get -y install php7.0 libapache2-mod-php7.0
Tenemos que reiniciar el servidor para que los cambios surjan efecto.
sudo systemctl restart apache2
Instalar los módulos de PHP
Para poder correr Drupal necesitamos algunos módulos de PHP.
Yo voy a instalar los siguientes:
sudo apt-get install php7.0-mysql php7.0-mcrypt php7.0-curl php-all-dev php7.0-gd php-pear php-imagick php7.0-pspell php7.0-xmlrpc php7.0-mbstring -y
Una vez finalizada las descargas de los módulos tenemos que volver a reiniciar el servidor.
sudo systemctl restart apache2
Optimizar PHP para Drupal
sudo nano /etc/php/7.0/apache2/php.ini
realpath_cache_ttl = 36000
max_execution_time = 300
max_input_time = 60
memory_limit = 512M
post_max_size = 128M
upload_max_filesize = 128M
default_socket_timeout = 60
Tenemos que volver a reiniciar Apache2
sudo systemctl restart apache2
Instalar phpMyAdmin
sudo apt-get install phpmyadmin php-mbstring php-gettext -y
- Web server to configure automatically: <-- Selecciona: apache2
- Configure database for phpmyadmin with dbconfig-common? <-- Yes
- MySQL application password for phpmyadmin: <-- Introduce la contraseña de MYSQL y pulsa intro.
Crear el VirtualHost
Este es mi archivo para el VirtualHost en Ubuntu 16.04
cd /etc/apache2/sites-available
sudo cp 000-default.conf server.net.conf
cd ../sites-enabled
sudo ln -s ../sites-available/server.net.conf
sudo nano /etc/apache2/sites-enabled/server.net.conf
Mi archivo de VirtualHost
<VirtualHost *:80>
ServerName server.net
DocumentRoot /home/USER/www
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /home/USER/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/server.error.log
CustomLog ${APACHE_LOG_DIR}/server.access.log combined
</VirtualHost>
Cambia "USER" por tu usuario. Recuerda cambiar la ruta por la que corresponda en tu caso.
Ahora probamos que la configuración sea válida con:
sudo a2ensite server.net.conf
sudo a2enmod rewrite
sudo systemctl restart apache2
No te olvides de crear el directorio www.
Añadir la IP al archivo hosts
Editamos el archivo hosts y especificamos una IP, la misma que le hayas asignado a tu equipo.
sudo nano /etc/hosts
Y luego:
127.0.0.1 localhost server.net
Volvemos a reiniciar el servidor.
sudo systemctl restart apache2
Y ya podemos montar nuestro drupal.