En aquest article, us donarem instruccions pas a pas sobre com configurar l'entorn web en un servidor amb Linux. Primer de tot, cal entendre que un servidor web típic consta d'uns quants components que interactuen:
- Servidor HTTP
- intèrpret de llenguatge de programació
- sistema de gestió de bases de dades (DBMS)
Per gestionar el vostre lloc web també haureu de configurar un sistema de gestió de continguts (CMS), una interfície web per a la gestió de bases de dades i accés FTP.
Considerem la configuració d'una configuració molt popular Apache-PHP-MySQL (MariaDB) a Linux. També instal·larem el servidor ftp vsftpd, phpMyAdmin, una interfície web per a la gestió de bases de dades i un sistema de gestió de contingut WordPress.
Per començar, demaneu un servidor VPS o un servidor dedicat . Per exemple, vam utilitzar un servidor virtual amb una adreça IP estàtica que executava Ubuntu Server 18.04. Totes les ordres les va executar l'usuari root.
Configuració del servidor HTTP Apache
1. instal·lació
apt install apache2
Quan la instal·lació hagi acabat, obriu un navegador i comproveu "http://[adreça_ip_del_servidor]"
Si veieu una pàgina de benvinguda com aquesta a la captura de pantalla de dalt, vol dir que el vostre servidor HTTP funciona.
2. Creeu una pàgina de prova
El directori arrel per defecte del lloc web és "/var/www/html" . Aquí és on podeu trobar la pàgina de benvinguda que acabeu de veure. Creem un directori separat, "/var/www/sites", per als hosts virtuals i una subcarpeta, "/var/www/sites/site1", amb la pàgina d'índex del vostre lloc web de prova.
cd /var/www/
mkdir -p sites/site1
echo "<H1>Welcome</H1>" > sites/site1/index.html
Com a resultat, el fitxer "/var/www/sites/site1/index.html" només hauria de contenir una línia de codi HTML:
<H1>Welcome</H1>
3. Configuració del servidor Apache
Els fitxers de configuració dels llocs web es troben al catàleg "/etc/apache2/sites-available/" . Creem un fitxer de configuració per a un nou host virtual prenent com a base la configuració per defecte del fitxer "000-default.conf" .
cd /etc/apache2/sites-available/
cp 000-default.conf site1.conf
Obriu el fitxer “site1.conf” i canvieu l' atribut “DocumentRoot” . Poseu la ruta del vostre lloc web com a valor, en el nostre cas és “/var/www/sites/site1”.
En aquesta fase no cal configurar el funcionament simultània de diversos llocs web, de manera que podem desactivar el lloc web predeterminat i habilitar el nou lloc. Torneu a carregar la configuració del servidor per aplicar els canvis.
a2dissite 000-default
a2ensite site1
systemctl reload apache2
Obriu de nou l'enllaç “http://[adreça_ip_del_servidor]” i assegureu-vos que en comptes de la pàgina de benvinguda per defecte tenim la nostra nova pàgina.
Hem acabat la configuració del nostre servidor HTTP i podem passar al següent pas.
Configuració del servidor FTP
1. instal·lació
Instal·lem el nostre servidor ftp i un paquet addicional "db-util" , que necessitarem per configurar usuaris virtuals.
apt install vsftpd db-util
2. Creeu un compte local
El servidor vsftpd ens permet configurar els permisos d'accés d'una manera molt flexible. Per a les nostres tasques hem de proporcionar als usuaris ftp el següent:
- accés complet als continguts de “/var/www/sites/”;
- desactiva tot el que hi ha a dalt “/var/www/”;
- connexió amb un compte virtual;
Crea un compte local "virtual" sense permisos d'inici de sessió però amb accés a la carpeta d'inici "/var/www/" . Els usuaris d'ftp utilitzaran aquest compte per connectar-se al servidor.
useradd -d /var/www virtual
"Root" serà el propietari de la carpeta "/var/www" per defecte. Per tal que els usuaris d'ftp puguin modificar el contingut dels llocs web, canviarem el propietari de "/var/www/sites/" incloent-hi les subcarpetes de "virtual".
chown -R virtual:root /var/www/sites
Com a resultat, l'usuari "virtual" podrà veure el contingut de "/var/www/" i escriure a la subcarpeta "/var/www/sites/".
3. configuració
La configuració principal es troba al fitxer "/etc/vsftpd.conf" , així que l'obrim i l'editem de la següent manera:
#enable virtual users
anonymous_enable=NO
local_enable=YES
guest_enable=YES
guest_username=virtual
#configure permission
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_world_readable_only=NO
anon_umask=0022
chroot_local_user=YES
#launch settings
listen=YES
pasv_min_port=30000
pasv_max_port=30999
4. Creeu la base de dades
Necessitareu una base de dades per emmagatzemar les dades dels comptes virtuals.
Primer, creem un fitxer de text senzill "users.txt" a la carpeta d'inici i guardem les dades d'accés (nom d'usuari i contrasenya) dels usuaris virtuals en línies alternes. Per exemple, necessitarem un usuari virtual amb el nom d'usuari "ftp" i la contrasenya "Qwe123" . Aleshores, el fitxer tindrà aquest aspecte:
ftp
Qwe123
Creem la base de dades
db_load -T -t hash -f ~/users.txt /etc/vsftpd_login.db
Modifiquem el fitxer PAM per defecte “/etc/pam.d/vsftp” de la següent manera:
auth required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login
Tingueu en compte que la ruta de la biblioteca "pam_userdb.so" pot ser diferent, però la podeu canviar si cal.
Torneu a carregar el servidor vsftpd per aplicar els canvis.
systemctl restart vsftpd
Hem acabat de configurar el servidor FTP.
Detalls de connexió:
- ftp://[adreça_ip_del_servidor]
- inici de sessió: ftp
- contrasenya: Qwe123
Configuració del servidor PHP
1. Instal·lació de PHP
Avui l'última versió estable de PHP és php 7.4.5 que no està inclosa als dipòsits oficials d'Ubuntu. Connectem un repositori de tercers i instal·lem la darrera versió de PHP.
apt update
apt install software-properties-common
add-apt-repository ppa:ondrej/php
apt update
apt install php7.4
2. Comprovar
Perquè PHP pugui executar-se, el fitxer de pàgina web ha de tenir l'extensió ".php" . Canvieu el nom de la nostra pàgina de prova:
cd /var/www/sites/site1/
mv index.html index.php
Afegiu la següent línia php al fitxer “/var/www/sites/site1/index.php” , de manera que el fitxer hauria de tenir aquest aspecte:
<H1>Welcome</H1>
<?php
phpinfo();
?>
Deseu els canvis i comproveu el resultat al navegador.
Si veieu el resultat de la funció "phpinfo()" , l'intèrpret de PHP funciona correctament. Ara anem al pas següent.
Configuració de MySQL (MariaDB).
1. instal·lació
Instal·lem MariaDB i un mòdul PHP per a MySQL i tornem a carregar Apache.
apt install mariadb-server php-mysql
systemctl restart apache2
Actualitzeu la pàgina de prova i aneu a la secció PDO a la taula de configuració de PHP. Si podeu trobar la secció "PDO_mysql" , vol dir que el controlador per a Mysql està instal·lat correctament.
A continuació, haurem de fer la configuració de seguretat inicial de MariaDB i establir la contrasenya per a l' usuari "root" , desactivar l'accés remot i eliminar tots els comptes de convidat.
mysql_secure_installation
Al primer pas, hem d'introduir la contrasenya de l'usuari "root" per accedir al SGBD o prémer Intro si no hi ha cap contrasenya. Com que no hi ha cap contrasenya establerta per a l' usuari "root" després de la instal·lació, només cal prémer "Intro".
Tingueu en compte que a MariaDB ja hi ha els seus propis comptes que no tenen res a veure amb els comptes del sistema operatiu. Per tant, l'únic usuari amb què tractem a MariaDB és "root".
Després d'això, el configurador ens demanarà que establim la contrasenya per a l'usuari root. Escriviu "Y" per confirmar i introduir la nova contrasenya. En el nostre cas, és "Qwe123".
Respon "S" a totes les altres preguntes fins al final.
La configuració està feta!
Detalls d'accés a MariaDB:
- Inici de sessió: root
- Contrasenya: Qwe123
Configuració de phpMyAdmin
1. instal·lació
Instal·lem l'extensió necessària per a PHP: mbstring.
apt install php-mbstring
Al repositori oficial només hi ha una versió obsoleta de phpMyAdmin, així que instal·lem la nova manualment.
Obriu el lloc web oficial del projecte “ https://www.phpmyadmin.net/ ” i descarregueu l'arxiu més recent.
Copieu l'arxiu al servidor, a la carpeta "/var/www/sites/", utilitzant qualsevol client ftp.
Desarxiveu la carpeta i canvieu-li el nom a "phpMyAdmin" . No us oblideu d'instal·lar la utilitat "unzip" . Podeu suprimir l'arxiu després de desarxivar-lo.
apt install unzip
cd /var/www/sites/
unzip phpMyAdmin-5.0.2-all-languages.zip
mv phpMyAdmin-5.0.2-all-languages phpMyAdmin
rm phpMyAdmin-5.0.2-all-languages.zip
Crea la carpeta següent “/var/www/sites/phpMyAdmin/tmp” per a fitxers temporals i habilita l'accés per a tothom. Si no ho fas, phpMyAdmin informarà que s'ha denegat l'accés a la carpeta temporal.
cd /var/www/sites/phpMyAdmin/
mkdir tmp
chmod 777 tmp
2. Creeu un àlies
Com que phpMyAdmin no és un host virtual independent i es troba fora del directori arrel, configurem l'àlies.
Obriu el fitxer “/etc/apache2/mods-available/alias.conf” i afegiu aquesta línia:
Alias /pma “/var/www/sites/phpMyAdmin"
dins d'aquesta secció:
<IfModule alias_module>
</IfModule>
Torneu a carregar Apache per aplicar els canvis.
systemctl reload apache2
L'àlies està configurat, de manera que podem accedir a phpMyAdmin aquí "http://[adreça_ip_del_servidor]/pma".
3. Prepara la base de dades
Com que vam restringir l'ús de l'usuari root durant la configuració inicial de MariaDB, haurem de crear un compte nou amb tots els permisos que s'utilitzaran per accedir a phpMyAdmin.
A més, per habilitar funcions addicionals de phpMyAdmin necessitarem una base de dades de servei i un compte per accedir-hi.
Creem els comptes
mariadb -u root -p
GRANT ALL PRIVILEGES ON *.* TO 'pma'@'localhost' IDENTIFIED BY 'Qwe123' WITH GRANT OPTION;
GRANT SELECT, INSERT, UPDATE, DELETE ON `phpmyadmin`.* TO 'pmaservice'@'localhost' IDENTIFIED BY 'Qwe123' WITH grant option;
quit
Tingueu en compte que el nom de la base de dades a la segona sol·licitud és a Back Sparks “… ON `phpmyadmin` .* TO 'pma'@'localhost' IDENTIFIED BY…”,
Com a resultat, hi haurà dos comptes creats a MariaDB:
- Inici de sessió: pma, contrasenya: Qwe123 Accés complet, s'utilitzarà per iniciar sessió a phpMyAdmin
- Inici de sessió: pmaservice, Contrasenya: Qwe123El compte de servei és necessari perquè funcionin funcions addicionals
Al següent pas, definirem aquestes dades al fitxer de configuració “config.inc.php”.
A continuació, haurem d'importar la base de dades des del fitxer "phpMyAdmin/sql/create_tables.sql".
Importem-lo amb l'ajuda de phpMyAdmin.
Obriu l'enllaç “http://[adreça_ip_del_servidor]/pma”
Introduïu l'usuari "pma" i la contrasenya "Qwe123"
Aneu a "Importa" , feu clic a "Selecciona fitxer" i seleccioneu el fitxer "sql/create_tables.sql" al directori arrel de phpMyAdmin. Se suposa que hi ha la carpeta "phpMyAdmin" al vostre PC amb fitxers. Desarxiveu-la si cal.
Feu clic a “Següent” per començar la importació.
4. configuració
Copiem el fitxer de configuració de la plantilla
cd /var/www/sites/phpMyAdmin/
cp config.sample.inc.php config.inc.php
Obrim el fitxer de configuració “/var/www/sites/phpMyAdmin/config.inc.php” i fem els canvis següents:
Estableix un valor aleatori de 32 caràcters per a l'atribut "$cfg['blowfish_secret']" . Fes servir qualsevol generador de contrasenyes.
Elimineu els comentaris de totes les línies de la secció "phpMyAdmin configuration storage settings" i definiu l'usuari i la contrasenya del compte de servei de MariaDB per als atributs "controluser" i "controlpass" en conseqüència. En el nostre cas, és pmaservice i Qwe123.
Deseu els canvis.
Detalls d'accés per a phpMyadmin:
- http://[server’s_ip_address]/pma/
- Inici de sessió: pma
- Contrasenya: Qwe123
Com instal·lar i configurar WordPress en un servidor Linux
1. Col·locació de fitxers i paquets de WordPress
Aneu al lloc web oficial de WP “ https://ru.wordpress.org/ ” i descarregueu l'arxiu al vostre ordinador local.
Pugeu l'arxiu al servidor a la carpeta "/var/www/sites/" i desarxiveu-lo a la carpeta "wordpress ".
Copieu el contingut de la carpeta arrel “/var/www/sites/wordpress/” del lloc web “/var/www/sites/site1/”.
Com que hem copiat els fitxers a través de la consola amb permisos de root, canviarem el propietari de la carpeta "/var/www/sites/", incloent-hi el contingut de "virtual" . Això és necessari per habilitar l'accés complet per a la connexió ftp a través del client.
cd /var/www/sites/
tar -xzvf wordpress-5.4-ru_RU.tar.gz
cp -R wordpress/* site1/
chown -R virtual:root /var/www/sites
2. Creeu una base de dades per a WordPress
Inicieu sessió a phpMyAdmin i feu clic a "Crea base de dades". Especifiqueu un nom de base de dades arbitrari, en el nostre cas "wordpress_db" i feu clic al botó "Crea".
Seleccioneu la nova base de dades a la secció esquerra i feu clic a "Privilegis"
A continuació, feu clic a "Afegeix un compte d'usuari".
Introduïu el nom d'usuari i la contrasenya ( wpservice / Qwe123 ) a la finestra que s'obre, marqueu "Atorga tots els privilegis a la base de dades de wordpress" i feu clic a "Següent".
A la pàgina següent, feu clic a "Cancel·la-ho tot" per restablir tots els privilegis a nivell de base de dades i feu clic a "Següent".
3. Configuració de WordPress en un servidor Linux
Aneu al directori arrel del vostre lloc web i copieu el fitxer de configuració de la plantilla
cd /var/www/sites/site1/
cp wp-config-sample.php wp-config.php
Obriu el fitxer “wp-config.php” i introduïu els paràmetres de connexió a la base de dades que hem creat al pas anterior i deseu els canvis.
4. Instal·leu CMS WordPress
Obriu l'enllaç següent al navegador “http://[adreça_ip_del_servidor]/wp-admin/install.php”.
Empleneu tots els camps i feu clic a “Instal·la WordPress” . Establiu un nom d'usuari i una contrasenya aleatoris. En el nostre cas, és wpadmin i Qwe123 en conseqüència.
Aquestes dades s'utilitzaran per accedir a WordPress.
Després d'acabar la instal·lació, obriu l'enllaç “http://[adreça_ip_del_servidor]/wp-login.php” , introduïu les dades d'accés i inicieu la sessió a WordPress.
Hauríeu de veure una de les plantilles de WordPress a la pàgina principal.
La configuració s'ha acabat.
Detalls d'accés a WordPress:
- http://[server’s_ip_address]/wp-login.php
- Inici de sessió: wpadmin
- Contrasenya: Qwe123