Introducción
Si su intención es instalar Joomla en un servidor remoto, continúe leyendo, de lo contrario, si desea instalar Joomla en su computadora local, omita el primer párrafo "Conexión al servidor" y lea el siguiente.
Conexión al servidor
Para acceder al servidor, necesita conocer la dirección IP. También necesitará la contraseña para la autenticación.
Para conectarse al servidor como root, escriba este comando:
ssh root@IP_DEL_SERVER
A continuación, se le pedirá que ingrese la contraseña del usuario root.
Si no usa el usuario root, puede iniciar sesión con otro nombre de usuario usando el mismo comando, luego cambie el primer parámetro:
ssh VOSTRO_UTENTE@IP_DEL_SERVER
Luego se le pedirá que ingrese su contraseña de usuario.
Ahora está conectado a su servidor, está listo para comenzar a instalar Joomla en Ubuntu 18.04 LTS.
Instalación de Nginx
Para instalar Nginx abre la terminal y da estos comandos:
sudo apt update
sudo apt install nginx
Si el firewall de Ubuntu está activo, debe habilitar el tráfico para Nginx:
sudo ufw allow 'Nginx HTTP'
En este punto, el servidor está listo con las configuraciones predeterminadas. Simplemente conéctese a su dirección IP pública o localhost:
http://indirizzo_ip
http://localhost
Para reiniciar Nginx:
sudo service nginx restart
Para detener Nginx:
sudo service nginx stop
Para iniciar Nginx:
sudo service nginx start
Instalar MySQL
Puede instalar MySQL usando el repositorio oficial de Ubuntu con apt. Instale MySQL:
sudo apt install mysql-server
Instalar PHP
Para instalar PHP desde la terminal:
sudo apt install php-fpm php-mysql php-mbstring php-gettext php-zip php-curl php-intl php-gd
sudo phpenmod mbstring
Para que la instalación de PHP sea más segura, escriba el siguiente comando:
sudo nano /etc/php/7.2/fpm/php.ini
Busque esta línea ; cgi.fix_pathinfo, elimine el punto y coma ";" e inserte el parámetro cero "0". Entonces:
cgi.fix_pathinfo=0
Reinicie PHP:
sudo systemctl restart php7.2-fpm
Configurar Nginx
Abra el siguiente archivo desde FTP o terminal:
sudo nano /etc/nginx/sites-available/default
Podemos eliminar todo el contenido del archivo presionando ctrl + k y luego pegar la siguiente configuración:
server {
listen 80 default_server;
root /var/www/html;
index index.php index.html index.htm;
server_name localhost;
charset UTF-8;
location /{
try_files $uri//index.php?$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico|eot|otf|ttf|woff)$ {
add_header Access-Control-Allow-Origin *;
access_log off; log_not_found off; expires 30d;
}
location = /robots.txt { access_log off; log_not_found off; }
location ~ /\. { deny all; access_log off; log_not_found off; }
}
Cierra y guarda el archivo.
Reiniciemos Nginx
sudo service nginx restart
Instalar PhpMyAdmin Para instalar phpMyAdmin, dé estos simples comandos de terminal:
sudo apt update
sudo apt install phpmyadmin
ATENCIÓN Durante la fase de instalación de phpMyAdmin se le pedirá que seleccione Apache2 o Lighttpd, habiendo instalado Nginx no debemos seleccionar nada, vaya a " Ok " para continuar.
En este punto, se requiere la base de datos dbconfig-common para la configuración correcta de phpMyadmin y luego seleccione " Ok "
Ingrese su contraseña de administrador de la base de datos.
Confirma la contraseña
Cree un enlace simbólico phpMyAdmin para Nginx
sudo ln -s /usr/share/phpmyadmin//var/www/html/
Reinicie Nginx:
sudo service nginx restart
Ahora es posible iniciar sesión en phpmyadmin con el usuario phpmyadmin y la contraseña establecida durante la fase de instalación.
PhpMyAdmin por defecto no podrá usar credenciales de root en su lugar.
Puede encontrar los siguientes errores:
#1698 - Access denied for user 'root'@'localhost'
mysqli_real_connect(): (HY000/1698): Access denied for user 'root'@'localhost'
La solución más simple (y segura) es crear un nuevo usuario y otorgar los privilegios requeridos.
Cambiar el método de autenticación
A partir de la versión 5.7 de MySQL, el usuario root de MySQL está configurado para autenticarse a través del complemento auth_socket de forma predeterminada en lugar de una contraseña.
Para usar una contraseña para conectarse a MySQL como usuario root, debe cambiar el método de autenticación, de auth_socket a mysql_native_password.
Como aún no se ha establecido una contraseña, puede conectarse al servidor MySQL simplemente usando el comando mysql o sudo mysql si ha iniciado sesión como usuario normal. A continuación, deberá usar el comando mysql -u root -p como root, de lo contrario sudo mysql -u root -p como usuario normal.
Entonces, si ha iniciado sesión como root, escriba en la terminal:
mysql
De lo contrario, si ha iniciado sesión como un usuario normal con privilegios de sudo:
sudo mysql
Para verificar el método de autenticación asociado con las cuentas mysql:
SELECT user,authentication_string,plugin,host FROM mysql.user;
Debería recibir un mensaje similar a este:
+------------------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+-------------------------------------------+-----------------------+-----------+
| root | | auth_socket | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *5852386AB32C5DAD5DDA4F5FED911A70DA342656 | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
4 rows in set (0.00 sec)
Como puede ver, el método de autenticación auth_socket está configurado por defecto para el usuario root.
Para utilizar la autenticación de contraseña para la cuenta raíz, realice los siguientes cambios:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'TUA_PASSWORD';
Atención:Your password does not satisfy the current policy requirements.
este tutorial
Actualizar las tablas:
FLUSH PRIVILEGES;
Ahora puede verificar el nuevo método de autenticación asociado con el usuario raíz:
SELECT user,authentication_string,plugin,host FROM mysql.user;
Debería recibir un mensaje similar a este:
+------------------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+-------------------------------------------+-----------------------+-----------+
| root | *E6A3377941E640ADEDCC8907E390B06B0C863862 | mysql_native_password | localhost |
| mysql.session | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *5852386AB32C5DAD5DDA4F5FED911A70DA342656 | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
4 rows in set (0.00 sec)
Salga del indicador de MySQL:
exit;
Para iniciar sesión nuevamente en el servidor MySQL ahora, deberá ingresar una contraseña, luego desde la terminal:
Si ha iniciado sesión como root, escriba en la terminal:
mysql -u root -p
De lo contrario, si ha iniciado sesión como un usuario normal con privilegios de sudo:
sudo mysql -u root -p
De esta forma, podrá acceder a PhpMyAdmin u otro software similar con el usuario root.
Opción 2: agregar privilegios de root para el usuario phpmyadmin Ejecute los siguientes comandos:
GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit;
Ahora puede iniciar sesión con el usuario phpmyadmin y tener todos los privilegios del usuario root.
Opción 3: crear un nuevo usuario Ahora puede conectarse a la base de datos a través de PhpMyadmin usando el nombre de usuario "phpmyadmin" y la contraseña ingresada en los pasos anteriores.
Alternativamente, puede crear un nuevo usuario y asignar los privilegios necesarios:
CREATE USER 'nuovo_utente'@'localhost' IDENTIFIED BY 'nuova_password';
Atención:Your password does not satisfy the current policy requirements.
este tutorial
Asocie los privilegios de administración con el usuario recién creado:
GRANT ALL PRIVILEGES ON *.* TO 'nuovo_utente'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit;
Ahora puede conectarse a su dirección IP pública oa localhost agregando /phpmyadmin al final de la dirección.
http://vostro_dominio/phpmyadmin
http://localhost/phpmyadmin
Instalar Joomla
Emita los siguientes comandos de terminal, ingrese la carpeta /var /www /html /:
cd /var/www/html/
Descarga Joomla, actualmente la última versión es 3.9.4:
sudo wget https://downloads.joomla.org/cms/joomla3/3-9-4/Joomla_3-9-4-Stable-Full_Package.zip
Instale Zip y Unzip para administrar archivos .zip:
sudo apt-get install zip unzip
Extraer Joomla:
sudo unzip Joomla_3-9-4-Stable-Full_Package.zip
Si es necesario, sobrescriba el archivo index.php. Luego presione y y luego enter (tecla enter en el teclado). Cambiar permisos:
sudo chown -R www-data:www-data /var/www/
En este punto, necesitamos crear la base de datos para Joomla. Para ingresar phpMyAdmin, escriba en el navegador:
http://indirizzo_ip/phpmyadmin
Si la instalación se realizó localmente en su computadora, escriba:
http://localhost/phpmyadmin
En la columna de la izquierda, haga clic en "Nuevo", introduzca el nombre de la base de datos y luego "Crear".
Conéctese a su nombre de dominio:
http://esempio.com
Si la instalación se realizó localmente en su computadora, escriba:
http://localhost/
Ahora puede iniciar la instalación de Joomla ingresando los datos requeridos, como la dirección de la base de datos, generalmente el nombre de usuario y contraseña de la base de datos "localhost", el nombre del sitio, el nombre de usuario y la contraseña que usará para el usuario administrador de Joomla.