Instalar Linux, Apache, MySQL, PHP (LAMP) en Ubuntu 16.04

Instalar Linux, Apache, MySQL, PHP (LAMP) en Ubuntu 16.04

Instalar Linux, Apache, MySQL, PHP (LAMP) en Ubuntu 16.04

12-06-2017

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.