Atunci când implementați un site web sau o aplicație web, cea mai obișnuită soluție de servicii web este aceea de a configura un stack LAMP care constă din Linux, Apache, MySQL și PHP.
În acest articol, vom învăța cum să configurați un stack LAMP actualizat instalând cele mai recente versiuni stabile ale Apache 2.4.x, MariaDB 10.x și PHP 7.x pe Ubuntu 16.04.
Cerințe preliminare
Pasul 1: Instalați Apache 2.4.x
Instalați cea mai recentă versiune stabilă a Apache 2.4.x folosind următoarea comandă:
sudo apt-get install apache2 -y
Folosiți comanda de mai jos pentru a confirma instalarea:
apache2 -v
Produsul ar trebui să semene cu:
Server version: Apache/2.4.18 (Ubuntu)
Server built: 2016-07-14T12:32:26
Într-un mediu de producție, veți dori să eliminați pagina implicită de întâmpinare Ubuntu Apache:
sudo mv /var/www/html/index.html /var/www/html/index.html.bak
În scopuri de securitate, ar trebui să împiedicați Apache să expună fișiere și directoare din directorul rădăcină web /var/www/html
vizitatorilor:
sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.bak
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/apache2/apache2.conf
Notă: În conformitate cu cerințele dvs. specifice, puteți personaliza mai multe setări în acel fișier ulterior.
Porniți serviciul Apache și porniți-l la pornirea sistemului:
sudo systemctl start apache2.service
sudo systemctl enable apache2.service
Pasul 2: Instalează MariaDB 10.x
La momentul scrierii acestui articol, actuala versiune stabilă a MariaDB este 10.1
. Puteți utiliza următoarele comenzi pentru a instala MariaDB 10.1 pe sistemul Ubuntu 16.04 x64.
Configurați repo-ul apt pentru sistem:
sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://mirror.jmu.edu/pub/mariadb/repo/10.1/ubuntu xenial main'
Instalați MariaDB:
sudo apt update -y
sudo apt install -y mariadb-server
În timpul procesului de instalare, expertul de configurare a pachetului MariaDB va apărea automat și vă va cere să configurați o nouă parolă pentru root
utilizatorul MariaDB . Pentru moment, trebuie doar să apăsați de Enter
fiecare dată când apare expertul pentru a omite acest pas, deoarece vom configura o parolă pentru root
utilizatorul MariaDB în procedura de securizare MariaDB următoare.
După instalarea MariaDB, puteți confirma instalarea cu:
mysql -V
Producția ar trebui să fie similară cu:
mysql Ver 15.1 Distrib 10.1.22-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
Porniți serviciul MariaDB:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Asigurați-vă instalarea MariaDB:
sudo /usr/bin/mysql_secure_installation
În timpul procesului interactiv, răspundeți la rând la întrebări, după cum urmează:
Enter current password for root (enter for none): <Enter>
Set root password? [Y/n]: Y
New password: <your-MariaDB-root-password>
Re-enter new password: <your-MariaDB-root-password>
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y
Notă: Asigurați-vă că înlocuiți <your-MariaDB-root-password>
cu parola dvs. rădăcină MariaDB.
În acest mod, MariaDB 10.1 a fost instalat în siguranță pe sistemul dumneavoastră. În viitor, puteți configura utilizatorii și bazele de date desemnate pentru aplicațiile dvs. web după cum urmează:
Conectați-vă la shell-ul MySQL ca root
:
mysql -u root -p
Introduceți parola rădăcină MariaDB pe care ați setat-o mai devreme când vi se solicită.
Creați o bază de date MariaDB webapp
, un utilizator webappuser
al bazei de date și parola utilizatorului bazei de date yourpassword
:
CREATE DATABASE webapp;
CREATE USER 'webappuser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON webapp.* TO 'webappuser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
Dacă este necesar, puteți personaliza MariaDB examinând și editați principalul fișier de configurare MariaDB care este /etc/mysql/my.cnf
:
sudo cp /etc/mysql/my.cnf /etc/mysql/my.cnf.bak
sudo vi /etc/mysql/my.cnf
Nu uitați să reporniți serviciul MariaDB dacă faceți modificări la acel fișier:
sudo systemctl restart mariadb.service
Pasul 3: Instalați PHP 7.0 sau 7.1
Când aveți de-a face cu PHP 7.x, consultați un alt articol Vultr care descrie procesul în detaliu.
Pasul 4: Configurați firewall-ul UFW
În mod implicit, firewall-ul UFW de pe Ubuntu 16.04 este inactiv. Ar trebui să activați firewall-ul UFW pentru a îmbunătăți securitatea:
sudo ufw app list
sudo ufw allow OpenSSH
sudo ufw allow in "Apache Full"
sudo ufw enable
Asta e tot. După parcurgerea procedurilor de mai sus, stiva LAMP ar fi funcționat pe sistemul Ubuntu 16.04. Puteți apoi să implementați propria aplicație web pe baza stivei LAMP. Bucură de ea!