I den här artikeln kommer vi att ge dig steg-för-steg-instruktioner om hur du konfigurerar webbmiljön på en server som kör Linux. Först och främst måste du förstå att en typisk webbserver består av några interagerande komponenter:
- HTTP-server
- tolk för programmeringsspråk
- databashanteringssystem (DBMS)
För att hantera din webbplats behöver du också konfigurera ett innehållshanteringssystem (CMS), ett webbgränssnitt för databashantering och FTP-åtkomst.
Låt oss överväga att ställa in en mycket populär konfiguration Apache-PHP-MySQL(MariaDB) på Linux. Vi kommer även att installera vsftpd ftp-server, phpMyAdmin - ett webbgränssnitt för databashantering och ett innehållshanteringssystem WordPress.
För att börja snälla beställa VPS-server or dedikerad server. Till exempel använde vi en virtuell server med statisk IP-adress som körde Ubuntu Server 18.04. Alla kommandon kördes av rotanvändaren.
Apache HTTP-serverkonfiguration
1. Installation
apt install apache2
När installationen är klar, öppna en webbläsare och kontrollera "http://[serverns_ip_adress]"
Om du ser en välkomstsida som denna på skärmdumpen ovan betyder det att din HTTP-server fungerar.
2. Skapa en testsida
Standardrotkatalogen för webbplatsen är "/var/www/html". Det är här du kan hitta välkomstsidan du just såg. Låt oss skapa en separat katalog "/var/www/webbplatser" för virtuella värdar och en undermapp “/var/www/sites/site1” med indexsidan för din testwebbplats.
cd /var/www/
mkdir -p sites/site1
echo "<H1>Welcome</H1>" > sites/site1/index.html
I resultatet filen “/var/www/sites/site1/index.html” bör innehålla bara en rad med html-kod:
<H1>Welcome</H1>
3. Apache-serverkonfiguration
Webbplatsernas konfigurationsfiler finns i "/etc/apache2/sites-available/" katalog. Låt oss skapa en konfigurationsfil för en ny virtuell värd som tar standardkonfigurationen från filen "000-default.conf" som grund.
cd /etc/apache2/sites-available/
cp 000-default.conf site1.conf
Öppna filen "site1.conf" och ändra "DocumentRoot" attribut. Sätt sökvägen till din webbplats som värdet, så i vårt fall är det det “/var/www/sites/site1”
I det här skedet behöver vi inte konfigurera den samtidiga driften av flera webbplatser, så vi kan inaktivera standardwebbplatsen och aktivera den nya webbplatsen. Ladda om serverkonfigurationen för att tillämpa ändringarna.
a2dissite 000-default
a2ensite site1
systemctl reload apache2
Öppna länken "http://[serverns _ip_adress]" igen och se till att vi har vår nya sida istället för standardvälkomstsidan.
Vi avslutade konfigurationen av vår HTTP-server och vi kan gå vidare till nästa steg.
FTP-serverkonfiguration
1. Installation
Låt oss installera vår ftp-server och ett extra paket "db-util", att vi måste konfigurera virtuella användare
apt install vsftpd db-util
2. Skapa ett lokalt konto
Med vsftpd-servern kan vi konfigurera åtkomstbehörigheter på ett mycket flexibelt sätt. För våra uppgifter behöver vi förse ftp-användare med följande:
- full tillgång till innehållet i "/var/www/webbplatser/";
- inaktivera allt ovan "/var/www/";
- anslutning till ett virtuellt konto;
Skapa ett lokalt konto "virtuell" utan inloggningsbehörighet men med tillgång till hemmapp "/var/www/". Detta konto kommer att användas av ftp-användare för att ansluta till servern
useradd -d /var/www virtual
"Rot" kommer att vara ägare till "/var/www" mapp som standard. För att göra det möjligt för ftp-användare att ändra innehållet på webbplatserna, låt oss byta ägare till "/var/www/webbplatser/" inklusive undermappar till "virtuell".
chown -R virtual:root /var/www/sites
Som ett resultat, användaren "virtuell" kommer att kunna se innehållet i "/var/www/" och skriv in i "/var/www/webbplatser/" mapp.
3. konfiguration
Huvudkonfigurationen finns i filen "/etc/vsftpd.conf", så låt oss öppna den och redigera den enligt följande:
#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. Skapa databasen
Du behöver en databas för att lagra data från virtuella konton.
Låt oss först skapa en enkel textfil "users.txt" i hemmappen och spara åtkomstdetaljer (inloggning och lösenord) för virtuella användare på varannan rad. Till exempel kommer vi att behöva en virtuell användare med inloggningen "ftp" och lösenord "Qwe123". Då ser filen ut så här:
ftp
Qwe123
Låt oss skapa databasen
db_load -T -t hash -f ~/users.txt /etc/vsftpd_login.db
Låt oss ändra standard PAM-filen "/etc/pam.d/vsftp" enligt följande:
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
Observera att sökvägen till "pam_userdb.so" biblioteket kan vara annorlunda men du kan ändra det om det behövs.
Ladda om vsftpd-servern för att tillämpa ändringar.
systemctl restart vsftpd
Vi avslutade konfigureringen av FTP-servern.
Anslutningsdetaljer:
- ftp://[serverns_ip_adress]
- inloggning: ftp
- lösenord: Qwe123
PHP-serverkonfiguration
1. Installation av PHP
Idag är den senaste stabila versionen av PHP php 7.4.5 som inte ingår i officiella Ubuntu-förråd. Låt oss ansluta ett tredjepartsförråd och installera den senaste versionen av PHP.
apt update
apt install software-properties-common
add-apt-repository ppa:ondrej/php
apt update
apt install php7.4
2. Kolla upp
För att PHP ska köras bör webbsidans fil ha ".php" förlängning. Låt oss byta namn på vår testsida:
cd /var/www/sites/site1/
mv index.html index.php
Lägg till följande php-rad i filen “/var/www/sites/site1/index.php”, så filen bör se ut så här:
<H1>Welcome</H1>
<?php
phpinfo();
?>
Spara ändringarna och kontrollera resultatet i webbläsaren.
Om du ser resultatet av funktion "phpinfo()", fungerar PHP-tolken korrekt. Låt oss nu gå vidare till nästa steg.
MySQL (MariaDB) konfiguration
1. Installation
Låt oss installera MariaDB och en PHP-modul för MySQL och sedan ladda om Apache.
apt install mariadb-server php-mysql
systemctl restart apache2
Uppdatera testsidan och gå till avsnittet PDO i PHP-konfigurationstabellen. Om du kan hitta avsnittet "PDO_mysql", då betyder det att drivrutinen för Mysql är korrekt installerad.
Då måste vi göra den första säkerhetskonfigurationen av MariaDB och ställa in lösenordet för "Rot" användare, inaktivera fjärråtkomst och ta bort alla gästkonton.
mysql_secure_installation
I det första steget måste vi gå in i "rot" användarens lösenord för att komma åt DBMS eller tryck på Enter om det inte finns något lösenord. Eftersom det inte finns något lösenord inställt för "rot" användare efter installationen, tryck bara på "Stiga på".
Observera att det i MariaDB redan finns egna konton som inte har något med OS-kontona att göra. Så den enda användare vi har att göra med i MariaDB är "rot".
Efter det kommer konfiguratorn att be oss ställa in lösenordet för root-användaren. Typ "Y" för att bekräfta och ange det nya lösenordet. I vårt fall är det så "Qwe123"
Svara "Y" till alla övriga frågor ända till slutet.
Konfigurationen är klar!
MariaDB åtkomstinformation:
- Inloggning: root
- Lösenord: Qwe123
phpMyAdmin-konfiguration
1. Installation
Låt oss installera det nödvändiga tillägget för PHP - mbstring.
apt install php-mbstring
I det officiella arkivet finns det bara en föråldrad version av phpMyAdmin, så låt oss installera den nya manuellt.
Öppna den officiella webbplatsen för projektet "https://www.phpmyadmin.net/” och ladda ner det senaste arkivet.
Kopiera arkivet till servern i "/var/www/webbplatser/" mapp med valfri ftp-klient.
Avarkivera mappen och byt namn på den till "phpMyAdmin". Glöm inte att installera "packa upp" nytta. Du kan ta bort arkivet efter att du har avarkiverat det.
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
Skapa följande mapp “/var/www/sites/phpMyAdmin/tmp” för temporära filer och möjliggör åtkomst för alla. Om du inte gör detta kommer phpMyAdmin att rapportera åtkomst nekad till den temporära mappen.
cd /var/www/sites/phpMyAdmin/
mkdir tmp
chmod 777 tmp
2. Skapa ett alias
Eftersom phpMyAdmin inte är en separat virtuell värd och ligger utanför rotkatalogen, låt oss konfigurera aliaset.
Öppna filen "/etc/apache2/mods-available/alias.conf" och lägg till denna rad:
Alias /pma “/var/www/sites/phpMyAdmin"
i detta avsnitt:
<IfModule alias_module>
</IfModule>
Ladda om Apache för att tillämpa ändringarna.
systemctl reload apache2
Alias är inställt, så vi kan komma åt phpMyAdmin här "http://[serverns_ip_adress]/pma".
3. Förbered databasen
Eftersom vi begränsade användningen av root-användare under den initiala konfigurationen av MariaDB, måste vi skapa ett nytt konto med alla behörigheter som kommer att användas för att komma åt phpMyAdmin.
Dessutom, för att aktivera ytterligare funktioner i phpMyAdmin behöver vi en tjänstedatabas och ett konto för att komma åt den.
Låt oss skapa kontona
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
Observera att databasnamnet i den andra förfrågan är i bakre gnistor "... PÅ `phpmyadmin`.* TILL 'pma'@'localhost' IDENTIFIERAD AV …”,
I resultatet kommer det att skapas två konton i MariaDB:
- Inloggning: pma, Lösenord: Qwe123Full åtkomst, kommer att användas för att logga in på phpMyAdmin
- Inloggning: pmaservice, Lösenord: Qwe123Servicekontot krävs för att ytterligare funktioner ska fungera
I nästa steg kommer vi att ställa in dessa detaljer i konfigurationsfilen "config.inc.php".
Sedan måste vi importera databasen från filen "phpMyAdmin/sql/create_tables.sql".
Låt oss importera det med hjälp av phpMyAdmin.
Öppna länken "http://[serverns_ip_adress]/pma"
Ange inloggning "pma" och lösenord "Qwe123"
Gå till "Importera", klicka på "Välj fil" och välj filen ”sql/create_tables.sql” i rotkatalogen för phpMyAdmin. Det ska finnas mappen på din dator "phpMyAdmin" med filer. Avarkivera det om det behövs.
Klicka "Nästa" för att börja importera.
4. konfiguration
Låt oss kopiera konfigurationsfilen från mallen
cd /var/www/sites/phpMyAdmin/
cp config.sample.inc.php config.inc.php
Låt oss öppna konfigurationsfilen “/var/www/sites/phpMyAdmin/config.inc.php” och gör följande ändringar:
Ställ in ett slumpmässigt värde på 32 tecken för attributet “$cfg['blowfish_secret']”. Använd valfri lösenordsgenerator för det..
Ta bort kommentarer från alla rader i "phpMyAdmin konfigurationslagringsinställningar" sektionen och ställ in inloggningen och lösenordet för MariaDB:s tjänstkonto för "kontrollanvändare" och "kontrollpass" attribut i enlighet därmed. I vårt fall är det så pmaservice och Qwe123.
Spara ändringarna.
Få åtkomst till detaljer för phpMyadmin:
- http://[server’s_ip_address]/pma/
- Inloggning: pma
- Lösenord: Qwe123
Hur man installerar och konfigurerar WordPress på en Linux-server
1. Placering av WordPress-paket och filer
Gå till den officiella WP-webbplatsen "https://ru.wordpress.org/” och ladda ner arkivet till din lokala PC.
Ladda upp arkivet till servern till "/var/www/webbplatser/" mappen och avarkivera den till "wordpress" mapp.
Kopiera innehållet i “/var/www/sites/wordpress/” rotmappen för “/var/www/sites/site1/” webbsajt.
Eftersom vi kopierade filerna via konsolen med root-behörigheter, låt oss byta ägare till "/var/www/webbplatser/" mapp inklusive innehållet i "virtuell". Detta krävs för att möjliggöra full åtkomst för ftp-anslutning via klienten.
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. Skapa en databas för WordPress
Logga in på phpMyAdmin och klicka på "Skapa databas". Ange ett godtyckligt databasnamn, i vårt fall "wordpress_db" och klicka på knappen "Skapa".
Välj den nya databasen i den vänstra delen och klicka "Privilegier"
Klicka sedan på "Lägg till användarkonto".
Ange inloggning och lösenord (wpservice / Qwe123) i det öppnade fönstret, kontrollera "Ge alla privilegier i wordpress_db" och klicka "Nästa"
Klicka på nästa sida "Avbryt alla" för att återställa alla privilegier på databasnivå och klicka "Nästa".
3. WordPress-konfiguration på en Linux-server
Gå till rotkatalogen på din webbplats och kopiera konfigurationsfilen från mallen
cd /var/www/sites/site1/
cp wp-config-sample.php wp-config.php
Öppna "wp-config.php" fil och ange databasanslutningsparametrarna som vi skapade i föregående steg och spara ändringarna.
4. Installera CMS WordPress
Öppna följande länk i webbläsaren "http://[serverns_ip_adress]/wp-admin/install.php".
Fyll i alla fält och klicka "Installera WordPress". Ange ett slumpmässigt användarnamn och lösenord. I vårt fall är det så wpadmin och Qwe123 följaktligen.
Dessa uppgifter kommer att användas för att komma åt WordPress.
Öppna länken när du är klar med installationen "http://[serverns_ip_adress]/wp-login.php", ange åtkomstinformationen och logga in på WordPress.
Du bör se en av WordPress-mallarna på huvudsidan.
Konfigurationen är klar.
WordPress åtkomstdetaljer:
- http://[server’s_ip_address]/wp-login.php
- Inloggning: wpadmin
- Lösenord: Qwe123