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 venligst bestille VPS server or dedikeret server. For eksempel brugte vi en virtuel server med statisk IP-adresse, der kører 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 kontrollere "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
Standardrodmappen 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/websteder" for virtuelle værter og en undermappe "/var/www/sites/site1" med indekssiden på dit testwebsted.
cd /var/www/
mkdir -p sites/site1
echo "<H1>Welcome</H1>" > sites/site1/index.html
I resultatet filen "/var/www/sites/site1/index.html" skal kun indeholde en linje html-kode:
<H1>Welcome</H1>
3. Apache-serverkonfiguration
Konfigurationsfiler for webstederne er i "/etc/apache2/sites-available/" katalog. Lad os oprette en konfigurationsfil til en ny virtuel vært, der tager standardkonfigurationen fra filen "000-default.conf" som grundlag.
cd /etc/apache2/sites-available/
cp 000-default.conf site1.conf
Åbn filen "site1.conf" og ændre "DocumentRoot" attribut. Sæt stien til dit websted som værdien, 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", at vi bliver nødt til 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 login-tilladelse men med adgang til hjemmemappe "/var/www/". Denne konto vil blive brugt af ftp-brugere til at oprette forbindelse til serveren
useradd -d /var/www virtual
"Rod" vil være ejer af "/var/www" mappe som standard. For at gøre det muligt for ftp-brugere at ændre indholdet af webstederne, lad os ændre ejeren af "/var/www/websteder/" herunder undermapper af "virtuel".
chown -R virtual:root /var/www/sites
Som et resultat, brugeren "virtuel" vil kunne se indholdet af "/var/www/" og skriv ind i "/var/www/websteder/" undermappe.
3. konfiguration
Hovedkonfigurationen er i filen "/etc/vsftpd.conf", så lad os åbne det og redigere det 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 "brugere.txt" i hjemmemappen og gem adgangsoplysninger (login og adgangskode) for virtuelle brugere på hver anden linje. For eksempel skal vi bruge en virtuel bruger med login "ftp" og adgangskode “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 "pam_userdb.so" biblioteket kan være anderledes, men du kan ændre det, 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 skal udføres skal websidefilen have ".php" forlængelse. 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 skulle se sådan ud:
<H1>Welcome</H1>
<?php
phpinfo();
?>
Gem ændringerne og tjek resultatet i browseren.
Hvis du ser resultatet af funktion "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", så betyder det, at driveren til Mysql er installeret korrekt.
Så bliver vi nødt til at udføre den indledende sikkerhedskonfiguration af MariaDB og indstille adgangskoden til "Rod" bruger, deaktiver fjernadgang og slet alle gæstekonti.
mysql_secure_installation
Ved det første trin skal vi ind i "rod" brugerens adgangskode for at få adgang til DBMS, eller tryk på Enter, hvis der ikke er nogen adgangskode. Da der ikke er angivet en adgangskode til "rod" bruger efter installation, skal du blot trykke "Gå ind".
Bemærk venligst, at der i MariaDB allerede er egne konti, som ikke har noget at gøre med OS-konti. Så den eneste bruger vi har at gøre med i MariaDB er "rod".
Derefter vil konfiguratoren bede os om at indstille adgangskoden til root-brugeren. Type "Y" for at bekræfte og indtaste den nye adgangskode. I vores tilfælde er det “Qwe123”
Svar "Y" til alle de øvrige spørgsmål til det sidste.
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 den officielle hjemmeside for projektet "https://www.phpmyadmin.net/” og download det seneste arkiv.
Kopier arkivet til serveren i "/var/www/websteder/" mappe ved hjælp af enhver ftp-klient.
Fjern mappen og omdøb den til "phpMyAdmin". Glem ikke at installere "pakke ud" nytte. Du kan slette arkivet, efter 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
Opret følgende mappe "/var/www/sites/phpMyAdmin/tmp" for midlertidige filer og muliggør 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 få adgang til phpMyAdmin her "http://[servers_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 står bag gnister "... ON `phpmyadmin`.* TIL 'pma'@'localhost' IDENTIFICERET AF …”,
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
På næste trin vil vi angive disse detaljer i konfigurationsfilen "config.inc.php".
Så bliver vi nødt til at 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 "Importere"klik "Vælg fil" og vælg filen "sql/create_tables.sql" i rodmappen til phpMyAdmin. Der formodes at være mappen på din pc "phpMyAdmin" med filer. Fjern den fra arkivet, hvis det er nødvendigt.
Klik "Næste" for at begynde at importere.
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 gør følgende ændringer:
Indstil 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 linjerne i "phpMyAdmin konfiguration lagerindstillinger" sektionen og indstil login og adgangskode til MariaDBs servicekonto for "kontrolbruger" og "kontrolpas" egenskaber 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 "/var/www/websteder/" mappe og fjern den fra arkivet til "wordpress"Mappe.
Kopier indholdet af "/var/www/sites/wordpress/" rodmappe af “/var/www/sites/site1/” internet side.
Da vi kopierede filerne via konsollen med root-tilladelser, lad os ændre ejeren af "/var/www/websteder/" mappe med indholdet af "virtuel". 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 “Privilegier”
Klik derefter på "Tilføj brugerkonto".
Indtast login og adgangskode (wpservice / Qwe123) i det åbnede vindue, tjek "Giv alle privilegier i wordpress_db" og klik "Næste"
Klik på næste side "Annuller alle" for at nulstille alle privilegier på databaseniveau, og klik "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
Åbne "wp-config.php" fil og indtast databaseforbindelsesparametrene, som vi oprettede i det forrige trin, og gem ændringerne.
4. Installer CMS WordPress
Åbn følgende link i browseren "http://[servers_ip_adresse]/wp-admin/install.php".
Udfyld alle felter og klik "Installer WordPress". Indstil et tilfældigt brugernavn og adgangskode. I vores tilfælde er det falde ind og Qwe123 derfor.
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", indtast adgangsoplysningerne og log 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