I denne artikel vil vi give dig trin-for-trin instruktioner om, hvordan du konfigurerer webmiljøet på en server, der kører Linux. Først og fremmest skal du forstå, at en typisk webserver består af et par interagerende komponenter:
- HTTP-server
- programmeringssprogstolk
- databasestyringssystem (DBMS)
For at administrere dit websted skal du også opsætte et indholdsstyringssystem (CMS), en webgrænseflade til databasestyring og FTP-adgang.
Lad os overveje at opsætte en meget populær konfiguration Apache-PHP-MySQL(MariaDB) på Linux. Vi vil også installere vsftpd ftp-server, phpMyAdmin - en webgrænseflade til databasestyring og et indholdsstyringssystem WordPress.
For at starte, bestil venligst en VPS-server eller dedikeret server . For eksempel brugte vi en virtuel server med statisk IP-adresse, der kørte Ubuntu Server 18.04. Alle kommandoer blev kørt af root-brugeren.
Apache HTTP-serverkonfiguration
1. Installation
apt install apache2
Når installationen er færdig, skal du åbne en browser og tjekke "http://[serverens_ip_adresse]"
Hvis du ser en velkomstside som denne på skærmbilledet ovenfor, betyder det, at din HTTP-server fungerer.
2. Opret en testside
Standard-rodmappen for webstedet er "/var/www/html" . Det er her, du kan finde den velkomstside, du lige har set. Lad os oprette en separat mappe "/var/www/sites" til virtuelle værter og en undermappe "/var/www/sites/site1" med indekssiden for dit testwebsted.
cd /var/www/
mkdir -p sites/site1
echo "<H1>Welcome</H1>" > sites/site1/index.html
I resultatet skal filen “/var/www/sites/site1/index.html” kun indeholde én linje html-kode:
<H1>Welcome</H1>
3. Apache-serverkonfiguration
Konfigurationsfilerne til webstederne findes i kataloget “/etc/apache2/sites-available/” . Lad os oprette en konfigurationsfil til en ny virtuel vært med udgangspunkt i standardkonfigurationen fra filen “000-default.conf” .
cd /etc/apache2/sites-available/
cp 000-default.conf site1.conf
Åbn filen “site1.conf” og rediger attributten “DocumentRoot” . Angiv stien til dit websted som værdi, så i vores tilfælde er det “/var/www/sites/site1”.
På dette stadium behøver vi ikke konfigurere den samtidige drift af flere websteder, så vi kan deaktivere standardwebstedet og aktivere det nye websted. Genindlæs serverkonfigurationen for at anvende ændringerne.
a2dissite 000-default
a2ensite site1
systemctl reload apache2
Åbn linket “http://[serverens _ip_adresse]” igen, og sørg for, at vi i stedet for standardvelkomstsiden har vores nye side.
Vi afsluttede konfigurationen af vores HTTP-server, og vi kan fortsætte til næste trin.
FTP-serverkonfiguration
1. Installation
Lad os installere vores ftp-server og en ekstra pakke "db-util" , som vi skal bruge for at konfigurere virtuelle brugere.
apt install vsftpd db-util
2. Opret lokal konto
vsftpd-serveren giver os mulighed for at konfigurere adgangstilladelser på en meget fleksibel måde. Til vores opgaver skal vi give ftp-brugere følgende:
- fuld adgang til indholdet af "/var/www/websteder/";
- deaktiver alt, hvad der er ovenfor "/var/www/";
- forbindelse med en virtuel konto;
Opret en lokal konto "virtuel" uden logintilladelse, men med adgang til hjemmemappen "/var/www/" . Denne konto vil blive brugt af ftp-brugere til at oprette forbindelse til serveren.
useradd -d /var/www virtual
"Root" vil som standard være ejeren af mappen "/var/www" . For at ftp-brugere kan ændre indholdet af webstederne, skal vi ændre ejeren af "/var/www/sites/", inklusive undermapperne til "virtual".
chown -R virtual:root /var/www/sites
Som følge heraf vil den "virtuelle" bruger kunne se indholdet af "/var/www/" og skrive i undermappen "/var/www/sites/".
3. konfiguration
Hovedkonfigurationen findes i filen “/etc/vsftpd.conf” , så lad os åbne 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. Opret databasen
Du skal bruge en database for at gemme data fra virtuelle konti.
Lad os først oprette en simpel tekstfil med navnet "users.txt" i hjemmemappen og gemme adgangsoplysninger (login og adgangskode) for virtuelle brugere på hver anden linje. For eksempel skal vi bruge en virtuel bruger med loginet "ftp" og adgangskoden "Qwe123" . Så vil filen se sådan ud:
ftp
Qwe123
Lad os oprette databasen
db_load -T -t hash -f ~/users.txt /etc/vsftpd_login.db
Lad os ændre 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
Bemærk venligst, at stien til biblioteket “pam_userdb.so” kan være anderledes, men du kan ændre den, hvis det er nødvendigt.
Genindlæs vsftpd-serveren for at anvende ændringer.
systemctl restart vsftpd
Vi er færdige med at konfigurere FTP-serveren.
Forbindelsesdetaljer:
- ftp://[serverens_ip_adresse]
- login: ftp
- adgangskode: Qwe123
PHP server konfiguration
1. Installation af PHP
I dag er den seneste stabile version af PHP php 7.4.5, som ikke er inkluderet i officielle Ubuntu-repositories. Lad os forbinde et tredjepartsdepot og installere den nyeste version af PHP.
apt update
apt install software-properties-common
add-apt-repository ppa:ondrej/php
apt update
apt install php7.4
2. Kontrollere
For at PHP kan køres, skal en websidefil have filtypenavnet ".php" . Lad os omdøbe vores testside:
cd /var/www/sites/site1/
mv index.html index.php
Tilføj følgende php-linje til filen “/var/www/sites/site1/index.php” , så filen skal se sådan ud:
<H1>Welcome</H1>
<?php
phpinfo();
?>
Gem ændringerne og tjek resultatet i browseren.
Hvis du ser resultatet af funktionen “phpinfo()” , fungerer PHP-fortolkeren korrekt. Lad os nu gå videre til næste trin.
MySQL (MariaDB) konfiguration
1. Installation
Lad os installere MariaDB og et PHP-modul til MySQL og genindlæse Apache.
apt install mariadb-server php-mysql
systemctl restart apache2
Opdater testsiden, og gå til afsnittet PDO i PHP-konfigurationstabellen. Hvis du kan finde afsnittet “PDO_mysql” , betyder det, at driveren til Mysql er installeret korrekt.
Derefter skal vi udføre den indledende sikkerhedskonfiguration af MariaDB og indstille adgangskoden til "root" -brugeren, deaktivere fjernadgang og slette alle gæstekonti.
mysql_secure_installation
I første trin skal vi indtaste "root" -brugerens adgangskode for at få adgang til DBMS, eller trykke Enter, hvis der ikke er nogen adgangskode. Da der ikke er angivet nogen adgangskode til "root" -brugeren efter installationen, skal du blot trykke på "Enter".
Bemærk venligst, at der i MariaDB allerede findes egne konti, som ikke har noget at gøre med OS-kontiene. Så den eneste bruger, vi har med at gøre i MariaDB, er "root".
Derefter vil konfiguratoren bede os om at indstille adgangskoden til root-brugeren. Skriv "Y" for at bekræfte og indtaste den nye adgangskode. I vores tilfælde er det "Qwe123".
Svar "Y" til alle de andre spørgsmål helt til sidst.
Konfigurationen er udført!
MariaDB adgangsoplysninger:
- Login: root
- Adgangskode: Qwe123
phpMyAdmin-konfiguration
1. Installation
Lad os installere den nødvendige udvidelse til PHP - mbstring.
apt install php-mbstring
I det officielle lager er der kun en forældet version af phpMyAdmin, så lad os installere den nye manuelt.
Åbn projektets officielle hjemmeside “ https://www.phpmyadmin.net/ ” og download det seneste arkiv.
Kopier arkivet til serveren i mappen “/var/www/sites/” ved hjælp af en hvilken som helst ftp-klient.
Dearkivér mappen og omdøb den til “phpMyAdmin” . Glem ikke at installere værktøjet “unzip” . Du kan slette arkivet, når du har dearkiveret 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
Opret følgende mappe “/var/www/sites/phpMyAdmin/tmp” til midlertidige filer og aktiver adgang for alle. Hvis du ikke gør dette, vil phpMyAdmin rapportere adgang nægtet til den midlertidige mappe.
cd /var/www/sites/phpMyAdmin/
mkdir tmp
chmod 777 tmp
2. Opret et alias
Da phpMyAdmin ikke er en separat virtuel vært og er placeret uden for rodmappen, lad os konfigurere aliaset.
Åbn filen “/etc/apache2/mods-available/alias.conf” og tilføj denne linje:
Alias /pma “/var/www/sites/phpMyAdmin"
inde i dette afsnit:
<IfModule alias_module>
</IfModule>
Genindlæs Apache for at anvende ændringerne.
systemctl reload apache2
Alias er indstillet, så vi kan tilgå phpMyAdmin her “http://[serverens_ip_adresse]/pma”.
3. Forbered databasen
Da vi begrænsede brugen af root-bruger under den indledende konfiguration af MariaDB, bliver vi nødt til at oprette en ny konto med alle tilladelser, der vil blive brugt til at få adgang til phpMyAdmin.
For at aktivere yderligere funktioner i phpMyAdmin har vi desuden brug for en tjenestedatabase og en konto for at få adgang til den.
Lad os oprette konti
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
Bemærk venligst, at databasenavnet i den anden anmodning er i back sparks “… ON `phpmyadmin` .* TO 'pma'@'localhost' IDENTIFIED BY …”,
I resultatet vil der være to konti oprettet i MariaDB:
- Login: pma, Adgangskode: Qwe123Fuld adgang, vil blive brugt til at logge ind på phpMyAdmin
- Login: pmaservice, Adgangskode: Qwe123Tjenestekontoen er påkrævet, for at yderligere funktioner kan fungere
I næste trin indstiller vi disse detaljer i konfigurationsfilen “config.inc.php”.
Derefter skal vi importere databasen fra filen “phpMyAdmin/sql/create_tables.sql”.
Lad os importere det ved hjælp af phpMyAdmin.
Åbn linket “http://[serverens_ip_adresse]/pma”
Indtast login “pma” og adgangskode “Qwe123”
Gå til “Importer” , klik på “Vælg fil” , og vælg filen ”sql/create_tables.sql” i rodmappen på phpMyAdmin. Der skulle være mappen “phpMyAdmin” med filer på din pc. Afarkivér den om nødvendigt.
Klik på "Næste" for at starte importen.
4. konfiguration
Lad os kopiere konfigurationsfilen fra skabelonen
cd /var/www/sites/phpMyAdmin/
cp config.sample.inc.php config.inc.php
Lad os åbne konfigurationsfilen “/var/www/sites/phpMyAdmin/config.inc.php” og foretage følgende ændringer:
Angiv en tilfældig værdi på 32 tegn for attributten “$cfg['blowfish_secret']” . Brug en hvilken som helst adgangskodegenerator til det.
Fjern kommentarer fra alle linjer i afsnittet "phpMyAdmin configuration storage settings" og indstil login og adgangskode til MariaDBs servicekonto for attributterne "controluser" og "controlpass" i overensstemmelse hermed. I vores tilfælde er det pmaservice og Qwe123.
Gem ændringerne.
Få adgang til detaljer for phpMyadmin:
- http://[server’s_ip_address]/pma/
- Login: pma
- Adgangskode: Qwe123
Sådan installeres og konfigureres WordPress på en Linux-server
1. Placering af WordPress-pakke og filer
Gå til den officielle WP-hjemmeside “ https://ru.wordpress.org/ ” og download arkivet til din lokale pc.
Upload arkivet til serveren i mappen "/var/www/sites/" , og dearkivér det til mappen "wordpress ".
Kopier indholdet af rodmappen “/var/www/sites/wordpress/” på webstedet “/var/www/sites/site1/”.
Da vi kopierede filerne via konsollen med root-rettigheder, lad os ændre ejeren af mappen "/var/www/sites/", inklusive indholdet af "virtual" . Dette er nødvendigt for at aktivere fuld adgang til ftp-forbindelse 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. Opret en database til WordPress
Log ind på phpMyAdmin og klik på "Opret database". Angiv et vilkårligt databasenavn, i vores tilfælde "wordpress_db", og klik på knappen "Opret".
Vælg den nye database i venstre sektion, og klik på "Privilegier".
Klik derefter på “Tilføj brugerkonto”.
Indtast login og adgangskode ( wpservice / Qwe123 ) i det åbnede vindue, marker "Giv alle rettigheder til wordpress_db" og klik på "Næste".
På næste side skal du klikke på "Annuller alle" for at nulstille alle rettigheder på databaseniveau, og klikke på "Næste".
3. WordPress-konfiguration på en Linux-server
Gå til rodmappen på dit websted og kopier konfigurationsfilen fra skabelonen
cd /var/www/sites/site1/
cp wp-config-sample.php wp-config.php
Åbn filen “wp-config.php” , indtast de databaseforbindelsesparametre, vi oprettede i det forrige trin, og gem ændringerne.
4. Installer CMS WordPress
Åbn følgende link i browseren “http://[serverens_ip_adresse]/wp-admin/install.php”.
Udfyld alle felterne, og klik på “Installer WordPress” . Angiv et tilfældigt brugernavn og en adgangskode. I vores tilfælde er det wpadmin og Qwe123.
Disse detaljer vil blive brugt til at få adgang til WordPress.
Når du er færdig med installationen, skal du åbne linket “http://[serverens_ip_adresse]/wp-login.php” , indtaste adgangsoplysningerne og logge ind på WordPress.
Du bør se en af WordPress-skabelonerne på hovedsiden.
Konfigurationen er afsluttet.
WordPress adgangsoplysninger:
- http://[server’s_ip_address]/wp-login.php
- Login: wpadmin
- Adgangskode: Qwe123