I denne artikkelen vil vi gi deg trinnvise instruksjoner om hvordan du konfigurerer webmiljø på en server som kjører Linux. Først må du forstå at en typisk webserver består av noen få samvirkende komponenter:
- HTTP-server
- programmeringsspråk tolk
- databasestyringssystem (DBMS)
For å administrere nettstedet ditt må du også sette opp et innholdsstyringssystem (CMS), et webgrensesnitt for databaseadministrasjon og FTP-tilgang.
La oss vurdere å sette opp en veldig populær konfigurasjon Apache-PHP-MySQL(MariaDB) på Linux. Vi vil også installere vsftpd ftp-server, phpMyAdmin - et webgrensesnitt for databaseadministrasjon, og et innholdsstyringssystem WordPress.
For å starte vær så snill bestille VPS-server or dedikert server. For eksempel brukte vi en virtuell server med statisk IP-adresse som kjører Ubuntu Server 18.04. Alle kommandoer ble kjørt av root-brukeren.
Apache HTTP-serverkonfigurasjon
1. Installasjon
apt install apache2
Når installasjonen er fullført, åpne en nettleser og sjekk "http://[serverens_ip_adresse]"
Hvis du ser en velkomstside som denne på skjermbildet ovenfor, betyr det at HTTP-serveren din fungerer.
2. Opprett en testside
Standard rotkatalog for nettstedet er “/var/www/html”. Det er her du kan finne velkomstsiden du nettopp så. La oss lage en egen katalog "/var/www/nettsteder" for virtuelle verter og en undermappe “/var/www/sites/site1” med indekssiden til testnettstedet ditt.
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 inneholde bare én linje med html-kode:
<H1>Welcome</H1>
3. Apache-serverkonfigurasjon
Konfigurasjonsfiler for nettsidene er inne "/etc/apache2/sites-available/" katalog. La oss lage en konfigurasjonsfil for en ny virtuell vert som tar standardkonfigurasjonen fra filen "000-default.conf" som grunnlag.
cd /etc/apache2/sites-available/
cp 000-default.conf site1.conf
Åpne filen «site1.conf» og endre "DocumentRoot" attributt. Sett banen til nettstedet ditt som verdien, så i vårt tilfelle er det det “/var/www/sites/site1”
På dette stadiet trenger vi ikke å konfigurere samtidig drift av flere nettsteder, så vi kan deaktivere standardnettstedet og aktivere det nye nettstedet. Last inn serverkonfigurasjonen på nytt for å bruke endringene.
a2dissite 000-default
a2ensite site1
systemctl reload apache2
Åpne lenken "http://[serverens _ip_adresse]" igjen og sørg for at vi har vår nye side i stedet for standardvelkomstsiden.
Vi fullførte konfigurasjonen av HTTP-serveren vår, og vi kan fortsette til neste trinn.
FTP-serverkonfigurasjon
1. Installasjon
La oss installere vår ftp-server og en tilleggspakke "db-util", at vi må konfigurere virtuelle brukere
apt install vsftpd db-util
2. Opprett lokal konto
vsftpd-serveren lar oss konfigurere tilgangstillatelser på en veldig fleksibel måte. For våre oppgaver må vi gi ftp-brukere følgende:
- full tilgang til innholdet i "/var/www/nettsteder/";
- deaktiver alt som er ovenfor “/var/www/”;
- forbindelse med en virtuell konto;
Opprett en lokal konto "virtuell" uten påloggingstillatelse, men med tilgang til hjemmemappe “/var/www/”. Denne kontoen vil bli brukt av ftp-brukere for å koble til serveren
useradd -d /var/www virtual
"Rot" vil være eier av “/var/www” mappe som standard. For å gjøre det mulig for ftp-brukere å endre innholdet på nettsidene, la oss endre eieren av "/var/www/nettsteder/" inkludert undermapper av "virtuell".
chown -R virtual:root /var/www/sites
Som et resultat, brukeren "virtuell" vil kunne se innholdet i “/var/www/” og skriv inn i "/var/www/nettsteder/" undermappe.
3. konfigurasjon
Hovedkonfigurasjonen er i filen "/etc/vsftpd.conf", så la oss åpne den og redigere den som følger:
#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. Opprett databasen
Du trenger en database for å lagre data fra virtuelle kontoer.
Først, la oss lage en enkel tekstfil «users.txt» i hjemmemappen og lagre tilgangsdetaljer (pålogging og passord) for virtuelle brukere på annenhver linje. For eksempel vil vi trenge en virtuell bruker med påloggingen "ftp" og passord “Qwe123”. Da vil filen se slik ut:
ftp
Qwe123
La oss lage databasen
db_load -T -t hash -f ~/users.txt /etc/vsftpd_login.db
La oss endre standard PAM-filen "/etc/pam.d/vsftp" som følger:
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
Vær oppmerksom på at banen til «pam_userdb.so» biblioteket kan være annerledes, men du kan endre det om nødvendig.
Last inn vsftpd-serveren på nytt for å bruke endringer.
systemctl restart vsftpd
Vi fullførte konfigureringen av FTP-serveren.
Tilkoblingsdetaljer:
- ftp://[serverens_ip_adresse]
- pålogging: ftp
- passord: Qwe123
PHP-serverkonfigurasjon
1. Installasjon av PHP
I dag er den siste stabile versjonen av PHP php 7.4.5 som ikke er inkludert i offisielle Ubuntu-repositories. La oss koble til et tredjepartslager og installere den nyeste versjonen av PHP.
apt update
apt install software-properties-common
add-apt-repository ppa:ondrej/php
apt update
apt install php7.4
2. Kryss av
For at PHP skal kjøres, bør nettsidefilen ha ".php" utvidelse. La oss gi nytt navn til testsiden vår:
cd /var/www/sites/site1/
mv index.html index.php
Legg til følgende php-linje i filen “/var/www/sites/site1/index.php”, så filen skal se slik ut:
<H1>Welcome</H1>
<?php
phpinfo();
?>
Lagre endringene og sjekk resultatet i nettleseren.
Hvis du ser resultatet av funksjon "phpinfo()", fungerer PHP-tolken som den skal. La oss nå gå videre til neste trinn.
MySQL (MariaDB) konfigurasjon
1. Installasjon
La oss installere MariaDB og en PHP-modul for MySQL og deretter laste inn Apache på nytt.
apt install mariadb-server php-mysql
systemctl restart apache2
Oppdater testsiden og gå til delen PDO i PHP-konfigurasjonstabellen. Hvis du finner seksjonen "PDO_mysql", betyr det at driveren for Mysql er riktig installert.
Da må vi gjøre den første sikkerhetskonfigurasjonen av MariaDB og angi passordet for "Rot" bruker, deaktiver ekstern tilgang og slett alle gjestekontoer.
mysql_secure_installation
I det første trinnet må vi gå inn i "rot" brukerens passord for å få tilgang til DBMS eller trykk Enter hvis det ikke er noe passord. Siden det ikke er angitt noe passord for "rot" bruker etter installasjon, bare trykk "Tast inn".
Vær oppmerksom på at i MariaDB er det allerede egne kontoer som ikke har noe med OS-kontoene å gjøre. Så den eneste brukeren vi har å gjøre med i MariaDB er "rot".
Etter det vil konfiguratoren be oss angi passordet for root-brukeren. Type "Y" for å bekrefte og angi det nye passordet. I vårt tilfelle er det det “Qwe123”
Svar "Y" på alle de andre spørsmålene helt til slutten.
Konfigurasjonen er ferdig!
MariaDB tilgangsdetaljer:
- Innlogging: root
- Passord: Qwe123
phpMyAdmin-konfigurasjon
1. Installasjon
La oss installere den nødvendige utvidelsen for PHP - mbstring.
apt install php-mbstring
I det offisielle depotet er det bare en utdatert versjon av phpMyAdmin, så la oss installere den nye manuelt.
Åpne den offisielle nettsiden til prosjektet "https://www.phpmyadmin.net/” og last ned det siste arkivet.
Kopier arkivet til serveren i "/var/www/nettsteder/" mappe ved å bruke en hvilken som helst ftp-klient.
Fjern mappen og gi den nytt navn til "phpMyAdmin". Ikke glem å installere "pakke ut" nytte. Du kan slette arkivet etter at du har fjernet det fra arkivet.
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
Opprett følgende mappe "/var/www/sites/phpMyAdmin/tmp" for midlertidige filer og muliggjør tilgang for alle. Hvis du ikke gjør dette, vil phpMyAdmin rapportere tilgang nektet til den midlertidige mappen.
cd /var/www/sites/phpMyAdmin/
mkdir tmp
chmod 777 tmp
2. Opprett et alias
Siden phpMyAdmin ikke er en separat virtuell vert og ligger utenfor rotkatalogen, la oss konfigurere aliaset.
Åpne filen "/etc/apache2/mods-available/alias.conf" og legg til denne linjen:
Alias /pma “/var/www/sites/phpMyAdmin"
inne i denne delen:
<IfModule alias_module>
</IfModule>
Last inn Apache på nytt for å bruke endringene.
systemctl reload apache2
Alias er satt, så vi kan få tilgang til phpMyAdmin her "http://[serverens_ip_adresse]/pma".
3. Forbered databasen
Siden vi begrenset bruken av root-bruker under den første konfigurasjonen av MariaDB, må vi opprette en ny konto med alle tillatelser som vil bli brukt for å få tilgang til phpMyAdmin.
Dessuten, for å aktivere tilleggsfunksjoner i phpMyAdmin, trenger vi en tjenestedatabase og en konto for å få tilgang til den.
La oss opprette kontoene
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
Vær oppmerksom på at databasenavnet i den andre forespørselen står bak gnister "... PÅ `phpmyadmin`.* TIL 'pma'@'localhost' IDENTIFISERT AV …”,
I resultatet vil det være to kontoer opprettet i MariaDB:
- Innlogging: pma, Passord: Qwe123Full tilgang, vil bli brukt til å logge på phpMyAdmin
- Pålogging: pmaservice, Passord: Qwe123Tjenestekontoen kreves for at tilleggsfunksjoner skal fungere
På neste trinn vil vi angi disse detaljene i konfigurasjonsfilen «config.inc.php».
Da må vi importere databasen fra filen "phpMyAdmin/sql/create_tables.sql".
La oss importere den ved hjelp av phpMyAdmin.
Åpne lenken "http://[serverens_ip_adresse]/pma"
Skriv inn pålogging "pma" og passord “Qwe123”
Gå til "Importere"klikk "Velg Fil" og velg filen «sql/create_tables.sql» i rotkatalogen til phpMyAdmin. Det er ment å være mappen på PC-en din "phpMyAdmin" med filer. Fjern arkivet om nødvendig.
Klikk “Neste” for å begynne å importere.
4. konfigurasjon
La oss kopiere konfigurasjonsfilen fra malen
cd /var/www/sites/phpMyAdmin/
cp config.sample.inc.php config.inc.php
La oss åpne konfigurasjonsfilen “/var/www/sites/phpMyAdmin/config.inc.php” og gjør følgende endringer:
Angi en tilfeldig verdi på 32 tegn for attributtet «$cfg['blowfish_secret']». Bruk hvilken som helst passordgenerator for det..
Fjern kommentarer fra alle linjene i "phpMyAdmin konfigurasjonslagringsinnstillinger" seksjonen og angi pålogging og passord til MariaDBs tjenestekonto for "kontrollbruker" og "kontrollpass" attributter tilsvarende. I vårt tilfelle er det det pmaservice og Qwe123.
Lagre endringene.
Få tilgang til detaljer for phpMyadmin:
- http://[server’s_ip_address]/pma/
- Innlogging: pma
- Passord: Qwe123
Hvordan installere og konfigurere WordPress på en Linux-server
1. Plassering av WordPress-pakke og filer
Gå til den offisielle WP-nettsiden "https://ru.wordpress.org/” og last ned arkivet til din lokale PC.
Last opp arkivet til serveren til "/var/www/nettsteder/" mappen og avarkiver den til «wordpress" mappe.
Kopier innholdet i “/var/www/sites/wordpress/” rotmappen til “/var/www/sites/site1/” nettside.
Siden vi kopierte filene via konsollen med root-tillatelser, la oss endre eieren av "/var/www/nettsteder/" mappe inkludert innholdet i "virtuell". Dette er nødvendig for å aktivere full tilgang for ftp-tilkobling 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. Lag en database for WordPress
Logg inn på phpMyAdmin og klikk på "Opprett database". Spesifiser et vilkårlig databasenavn, i vårt tilfelle "wordpress_db", og klikk på "Opprett"-knappen.
Velg den nye databasen i den venstre delen og klikk «Privilegier»
Klikk deretter "Legg til brukerkonto".
Skriv inn login og passord (wpservice / Qwe123) i det åpne vinduet, sjekk "Gi alle privilegier i wordpress_db" og klikk “Neste”
Klikk på neste side "Avbryt alle" for å tilbakestille alle privilegier på databasenivå og klikk “Neste”.
3. WordPress-konfigurasjon på en Linux-server
Gå til rotkatalogen til nettstedet ditt og kopier konfigurasjonsfilen fra malen
cd /var/www/sites/site1/
cp wp-config-sample.php wp-config.php
Åpne "wp-config.php" fil og skriv inn databasetilkoblingsparametrene som vi opprettet i forrige trinn og lagre endringene.
4. Installer CMS WordPress
Åpne følgende lenke i nettleseren "http://[serverens_ip_adresse]/wp-admin/install.php".
Fyll ut alle feltene og klikk "Installer WordPress". Angi et tilfeldig brukernavn og passord. I vårt tilfelle er det det stikke innom og Qwe123 tilsvarende.
Disse detaljene vil bli brukt for å få tilgang til WordPress.
Når du er ferdig med installasjonen, åpner du koblingen "http://[serverens_ip_adresse]/wp-login.php", skriv inn tilgangsdetaljene og logg på WordPress.
Du bør se en av WordPress-malene på hovedsiden.
Konfigurasjonen er fullført.
WordPress-tilgangsdetaljer:
- http://[server’s_ip_address]/wp-login.php
- Logg inn: wpadmin
- Passord: Qwe123