Hogyan kell telepíteni a Linux, Apache, MySQL, PHP (lámpa) verem Ubuntu 18.04

posted in: Articles | 0

egy korábbi változata ez a bemutató írta Brennan Bearnes.

Bevezetés

a” lámpa ” verem egy nyílt forráskódú szoftvercsoport, amelyet általában együtt telepítenek annak érdekében, hogy a szerver dinamikus webhelyeket és webes alkalmazásokat fogadhasson. Ez a kifejezés valójában egy mozaikszó, amely a Linux operációs rendszert képviseli, az Apache webszerverrel. A webhely adatait egy MySQL adatbázisban tároljuk, a dinamikus tartalmat pedig a PHP dolgozza fel.

ebben az útmutatóban LÁMPACSOMAGOT telepítünk egy Ubuntu 18.04 kiszolgálóra.,

előfeltételek

a bemutató befejezéséhez rendelkeznie kell egy Ubuntu 18.04 szerverrel, amelynek nem root sudo-kompatibilis felhasználói fiókja és alapvető tűzfala van. Ez konfigurálható az Ubuntu 18.04 kezdeti szerverbeállítási útmutatója segítségével.

1. lépés-az Apache telepítése és a tűzfal frissítése

az Apache webszerver a világ legnépszerűbb webszerverei közé tartozik. Ez jól dokumentált, és már széles körben használják sok a történelem, a web, ami miatt egy nagy alapértelmezett választás hosting egy weboldal.,

telepítse az Apache-t az Ubuntu csomagkezelőjével, apt:

  • sudo apt update
  • sudo apt install apache2

mivel ez egy sudo parancs, ezeket a műveleteket gyökér jogosultságokkal hajtják végre. Meg fogja kérni a rendszeres felhasználó jelszavát, hogy ellenőrizze szándékait.

miután megadta a jelszavát, apt megmondja, hogy mely csomagokat kívánja telepíteni, és mennyi extra lemezterületet fog igénybe venni. A folytatáshoz nyomja meg a Y és nyomja meg a ENTER gombot, majd a telepítés folytatódik.,

állítsa be a Tűzfalat a webes forgalom engedélyezéséhez

következő, feltételezve, hogy követte a kiszolgáló kezdeti beállítási utasításait, és engedélyezte az UFW tűzfalat, ellenőrizze, hogy a tűzfal engedélyezi-e a HTTP és HTTPS forgalmat.,ld mutatják, hogy lehetővé teszi a forgalom ports 80 vagy 443:

  • sudo ufw app info "Apache Full"
Output
Profile: Apache FullTitle: Web Server (HTTP,HTTPS)Description: Apache v2 is the next generation of the omnipresent Apache webserver.Ports: 80,443/tcp

Lehetővé teszi a bejövő HTTP, illetve HTTPS forgalmat ezt a profilt:

  • sudo ufw allow in "Apache Full"

tudsz egy helyet, hogy ellenőrizze, hogy ellenőrizze, hogy minden a terv szerint ment ellátogat a szerver publikus IP-címét a webböngésző (lásd a jegyzet a következő alcím alatti hogy megtudja, mi a nyilvános IP-cím, ha nincs ez az információ már):

You will see the default Ubuntu 18.04 Apache web page, which is there for informational and testing purposes. It should look something like this:

If you see this page, then your web server is now correctly installed and accessible through your firewall.

How To Find your Server’s Public IP Address

If you do not know what your server’s public IP address is, there are a number of ways you can find it. Usually, this is the address you use to connect to your server through SSH.

There are a few different ways to do this from the command line. First, you could use the iproute2 tools to get your IP address by typing this:

  • ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'

Ez ad két vagy három sort vissza., Ezek mind helyes címeket, de a számítógép csak akkor tudja használni az egyiket, így nyugodtan próbálja mindegyik.

egy alternatív módszer a curl segédprogram használata, hogy kapcsolatba lépjen egy külső féllel, hogy elmondja, hogyan látja a kiszolgálót. Ez úgy történik, hogy megkérdezi egy adott kiszolgálótól, hogy mi az IP-címe:

  • sudo apt install curl
  • curl http://icanhazip.com

függetlenül attól, hogy milyen módszert használ az IP-cím megszerzéséhez, írja be a böngésző címsorába az alapértelmezett Apache oldal megtekintéséhez.,

2. lépés-a MySQL

telepítése Most, hogy a webkiszolgáló működik, itt az ideje telepíteni a MySQL-t. A MySQL egy adatbázis-kezelő rendszer. Alapvetően megszervezi és hozzáférést biztosít az adatbázisokhoz, ahol a webhely információkat tárolhat.

ismét használja a apt szoftvert a szoftver beszerzéséhez és telepítéséhez:

  • sudo apt install mysql-server

megjegyzés: ebben az esetben nem kell a sudo apt update parancsot futtatni. Ez azért van, mert nemrég futtatta a fenti parancsokban az Apache telepítéséhez., A számítógép csomagindexének már naprakésznek kell lennie.

Ez a parancs is megmutatja a Telepítendő csomagok listáját,valamint a lemezterület mennyiségét. A folytatáshoz írja be a Y parancsot.

amikor a telepítés befejeződött, futtasson egy egyszerű biztonsági szkriptet, amely előre telepítve van a MySQL-rel, amely eltávolít néhány veszélyes alapértelmezett értéket, majd lezárja az adatbázisrendszerhez való hozzáférést. Indítsa el az interaktív szkriptet futással:

  • sudo mysql_secure_installation

Ez megkérdezi, hogy szeretné-e beállítani a VALIDATE PASSWORD PLUGIN.,

Megjegyzés: ennek a funkciónak a engedélyezése egy ítélethívás. Ha engedélyezve van, a megadott kritériumoknak nem megfelelő jelszavakat a MySQL hibával elutasítja. Ez problémákat okoz, ha gyenge jelszót használ olyan szoftverekkel együtt, amelyek automatikusan konfigurálják a MySQL felhasználói hitelesítő adatait, például az Ubuntu csomagokat a phpMyAdmin számára. Biztonságos az érvényesítés letiltása, de mindig erős, egyedi jelszavakat kell használnia az adatbázis hitelesítő adataihoz.

válasz Y igen, vagy bármi más, ami engedélyezés nélkül folytatható.,

VALIDATE PASSWORD PLUGIN can be used to test passwordsand improve security. It checks the strength of passwordand allows the users to set only those passwords which aresecure enough. Would you like to setup VALIDATE PASSWORD plugin?Press y|Y for Yes, any other key for No:

ha” igen ” – re válaszol, akkor meg kell adnia a jelszó érvényesítésének szintjét. Ne feledje, hogy ha a2 értéket adja meg a legerősebb szinthez, akkor hibákat fog kapni, amikor olyan jelszót próbál beállítani, amely nem tartalmaz számokat, nagy-és kisbetűket, valamint speciális karaktereket, vagy amelyek közös szótár szavakon alapulnak.

There are three levels of password validation policy:LOW Length >= 8MEDIUM Length >= 8, numeric, mixed case, and special charactersSTRONG Length >= 8, numeric, mixed case, special characters and dictionary filePlease enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1

függetlenül attól, hogy a VALIDATE PASSWORD PLUGIN beállítását választotta-e, a kiszolgáló ezután felkéri Önt, hogy válassza ki és erősítse meg a MySQL root felhasználó jelszavát., Ez egy adminisztrációs fiók a MySQL-ben, amely megnövelte a jogosultságokat. Gondolj rá úgy, hogy hasonló a szerver gyökérfiókjához (bár a most konfigurált fiók egy MySQL-specifikus fiók). Győződjön meg róla, hogy ez egy erős, egyedi jelszó, ne hagyja üresen.

Ha engedélyezte a jelszó érvényesítését, akkor megjelenik az éppen megadott root jelszó jelszava, majd a kiszolgáló megkérdezi, hogy meg akarja-e változtatni a jelszót., Ha elégedett az aktuális jelszóval, írja be a N a “nem” parancsot a prompt-ra:

Using existing password for root.Estimated strength of the password: 100Change the password for root ? ((Press y|Y for Yes, any other key for No) : n

a többi kérdésre nyomja meg a Y gombot, majd nyomja meg a ENTER kulcs minden prompt. Ez eltávolít néhány névtelen felhasználót és a tesztadatbázist, letiltja a távoli gyökér bejelentkezéseket, majd betölti ezeket az új szabályokat, hogy a MySQL azonnal tiszteletben tartsa a végrehajtott változtatásokat.

vegye figyelembe, hogy a MySQL 5 rendszert futtató Ubuntu rendszerekben.,7 (vagy újabb verziók), a root MySQL felhasználó hitelesítésre van állítva aauth_socket plugin alapértelmezés szerint, nem pedig jelszóval. Ez sok esetben nagyobb biztonságot és használhatóságot tesz lehetővé, de bonyolíthatja a dolgokat is, amikor egy külső program (például phpMyAdmin) számára lehetővé kell tenni a felhasználó elérését.

Ha a MySQL-hez root-ként való csatlakozáskor jelszót szeretne használni, akkor a hitelesítési módszert a auth_socket mysql_native_password – re kell váltania., Ehhez nyissa meg a mysql parancsot a terminálról:

  • sudo mysql

Ezután ellenőrizze, hogy melyik hitelesítési módszert használja a MySQL felhasználói fiókja a következő paranccsal:

  • SELECT user,authentication_string,plugin,host FROM mysql.user;

ebben a példában láthatja, hogy a gyökér felhasználó valójában hitelesíti a auth_socket bővítmény. A root-fiók jelszóval történő hitelesítéséhez futtassa a következő ALTER USER parancsot., Győződjön meg róla, hogy a változás password, hogy egy erős jelszót, a te döntésed:

  • ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Majd futtassa FLUSH PRIVILEGES, amely azt mondja, hogy a szerver újra a támogatási táblázatok, majd tegye az új változások hatályba:

  • FLUSH PRIVILEGES;

Ellenőrizze a hitelesítési módszerek által alkalmazott minden a felhasználók még egyszer megerősíteni, hogy root már nem hitelesíti használja a auth_socket plugin:

  • SELECT user,authentication_string,plugin,host FROM mysql.user;

látod ebben a példában a kimenetet, hogy a MySQL root felhasználó most hitelesíti a jelszó használatával., Miután megerősítette ezt a saját szerver, akkor kilép a MySQL shell:

  • exit

ezen A ponton, az adatbázis-rendszer, most meg tudsz lépni a PHP telepítése, a végső eleme a LAMP stack.

3. lépés-a PHP telepítése

a PHP a Beállítás összetevője, amely feldolgozza a kódot a dinamikus tartalom megjelenítéséhez. Futtathat parancsfájlokat, csatlakozhat a MySQL adatbázisokhoz, hogy információkat szerezzen, majd a feldolgozott tartalmat átadja a webszervernek a megjelenítéshez.

ismét használja a apt rendszert a PHP telepítéséhez., Ezen kívül, tartalmaz néhány segítő csomagok ezúttal úgy, hogy a PHP kód futhat az Apache szerver, és beszéljen a MySQL adatbázis:

  • sudo apt install php libapache2-mod-php php-mysql

Ez kell telepíteni PHP minden gond nélkül. Egy pillanat és kipróbáljuk.

a legtöbb esetben módosítani szeretné az Apache fájlok kiszolgálásának módját, amikor egy könyvtárat kér. Jelenleg, ha egy felhasználó könyvtárat kér a kiszolgálóról, az Apache először egy index.htmlnevű fájlt keres., Azt akarjuk mondani a webszervernek, hogy inkább a PHP fájlokat részesítse előnyben másokkal szemben, ezért az Apache először keressen egy index.php fájlt.

ehhez írja be ezt a parancsot adir.conf fájl megnyitásához gyökér jogosultságokkal rendelkező szövegszerkesztőben:

  • sudo nano /etc/apache2/mods-enabled/dir.conf

így fog kinézni:

/etc/apache2/mods-enabled/dir.conf
<IfModule mod_dir.c> DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm</IfModule>

mozgassa a PHP index fájlt (fent kiemelve) a DirectoryIndex specifikáció után az első pozícióba, mint ez:

/etc/apache2/mods-enabled/dir.,conf
<IfModule mod_dir.c> DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm</IfModule>

Ha elkészült, mentse el és zárja be a fájlt a CTRL+X megnyomásával. Erősítse meg a mentést a Y beírásával, majd nyomja meg a ENTER gombot a fájl mentési helyének ellenőrzéséhez.

ezután indítsa újra az Apache webkiszolgálót, hogy felismerje a módosításokat., Ehhez írja be ezt:

  • sudo systemctl restart apache2

ellenőrizheti a apache2 szolgáltatás állapotát is a systemctl:

  • sudo systemctl status apache2

nyomja meg a

id=”6143104e1a”>

az állapotkimenetből való kilépéshez.

a PHP funkcionalitásának növelése érdekében lehetősége van további modulok telepítésére., A PHP modulok és könyvtárak elérhető opcióinak megtekintéséhez pipálja be a apt search eredményeit a less, egy személyhívóba, amely lehetővé teszi, hogy más parancsok kimenetén keresztül görgessen:

  • apt search php- | less

a nyilakkal görgessen felfelé és lefelé, majd nyomja meg a Q a kilépéshez.

Az eredmények minden opcionális összetevő, amelyet telepíthet. Ez ad egy rövid leírást minden:

bandwidthd-pgsql/bionic 2.0.1+cvs20090917-10ubuntu1 amd64 Tracks usage of TCP/IP and builds html files with graphsbluefish/bionic 2.2.10-1 amd64 advanced Gtk+ text editor for web and software developmentcacti/bionic 1.1.38+ds1-1 all web interface for graphing of monitoring systemsganglia-webfrontend/bionic 3.6.1-3 all cluster monitoring toolkit - web front-endgolang-github-unknwon-cae-dev/bionic 0.0~git20160715.0.c6aac99-4 all PHP-like Compression and Archive Extensions in Gohaserl/bionic 0.9.35-2 amd64 CGI scripting program for embedded environmentskdevelop-php-docs/bionic 5.2.1-1ubuntu2 all transitional package for kdevelop-phpkdevelop-php-docs-l10n/bionic 5.2.1-1ubuntu2 all transitional package for kdevelop-php-l10n…:

Ha többet szeretne megtudni arról, hogy mi minden modul nem, akkor keressen az Interneten további információt róluk., Alternatív megoldásként nézze meg a csomag hosszú leírását gépeléssel:

  • apt show package_name

sok kimenet lesz, egy mező neve Description, amely hosszabb magyarázatot ad a modul által nyújtott funkciókra.,

például, hogy megtudja, mi a php-cli a modul nem végez, azt is írja ezt:

  • apt show php-cli

együtt nagy mennyiségű egyéb információkat találsz valamit, ami így néz ki:

Output
…Description: command-line interpreter for the PHP scripting language (default) This package provides the /usr/bin/php command interpreter, useful for testing PHP scripts from a shell or performing general shell scripting tasks. . PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. . This package is a dependency package, which depends on Ubuntu's default PHP version (currently 7.2).…

Ha, miután kutatja, úgy dönt, hogy szeretné telepíteni a csomagot, akkor használja a apt install parancs, mint eddig is, a többi szoftver.,

Ha úgy döntött, hogy a php-cli van valami, hogy kell, lehet típusa:

  • sudo apt install php-cli

Ha telepíteni szeretné a több, mint egy modul, megteheti, hogy tőzsdei mindegyik egy-egy szóközzel követően a apt install parancs, mint ez:

  • sudo apt install package1 package2 ...

ezen A ponton, a LAMP stack telepíti. Mielőtt bármi mást tenne, javasoljuk, hogy állítson be egy Apache virtuális gazdagépet, ahol tárolhatja a szerver konfigurációs adatait.,

4. lépés — virtuális gazdagépek beállítása (ajánlott)

az Apache webkiszolgáló használatakor virtuális gazdagépeket (hasonlóan a Nginx szerverblokkjaihoz) használhat a konfigurációs adatok beágyazására, és egynél több tartományt tárolhat egyetlen kiszolgálóról. Létrehozunk egy your_domain nevű domaint, de ezt ki kell cserélnie a saját domain nevével. Ha többet szeretne megtudni a domain név beállításáról a DigitalOcean segítségével, olvassa el a bevezetés a DigitalOcean DNS-be.

Apache az Ubuntu 18.,04 alapértelmezés szerint engedélyezve van egy szerverblokk, amely a /var/www/html könyvtár dokumentumainak kiszolgálására van konfigurálva. Bár ez jól működik egyetlen webhely esetében, nehézkes lehet, ha több webhelyet tárol. A /var/www/html módosítása helyett hozzunk létre egy könyvtárszerkezetet a /var/www – on belül a your_domain webhelyünkhöz, így a /var/www/html helyett az alapértelmezett könyvtárat kell kiszolgálni, ha az ügyfél kérése nem egyezik meg más webhelyekkel.,your_domain a következőképpen:

sudo mkdir /var/www/your_domain

a Következő rendel tulajdonjogát a könyvtár a $USER környezeti változó:

  • sudo chown -R $USER:$USER /var/www/your_domain

Az engedélyeket a web gyökerek helyes, ha még nem módosított a unmask érték, de biztos lehetsz, hogy beírja:

  • sudo chmod -R 755 /var/www/your_domain

a Következő létre, egy minta a index.html oldal használata nano vagy a kedvenc szerkesztő:

  • nano /var/www/your_domain/index.html

Belső, adja hozzá a következő HTML-minta:

/var/www/your_domain/index.,html
<html> <head> <title>Welcome to Your_domain!</title> </head> <body> <h1>Success! The your_domain server block is working!</h1> </body></html>

a fájl mentése és Bezárása, ha elkészült.

annak érdekében, hogy az Apache kiszolgálhassa ezt a tartalmat, létre kell hoznia egy virtuális gazdagép fájlt a megfelelő irányelvekkel. Ahelyett, hogy közvetlenül módosítanánk a /etc/apache2/sites-available/000-default.conf alapértelmezett konfigurációs fájlt, készítsünk egy újat a /etc/apache2/sites-available/your_domain.conf:

  • sudo nano /etc/apache2/sites-available/your_domain.conf

beillesztés a következő konfigurációs blokkba, amely hasonló az alapértelmezetthez, de frissül az új könyvtár és domain név:

/etc/apache2/sites-elérhető/your_domain.,conf

vegye figyelembe, hogy frissítettük a DocumentRoot új könyvtárunkat és a ServerAdmin egy e-mailt, amelyet a your_domain webhely adminisztrátora elérhet. Két irányelvet is hozzáadtunk: ServerName, amely létrehozza az alap domaint, amelynek meg kell egyeznie ezzel a virtuális gazdagép definícióval, és ServerAlias, amely további neveket határoz meg, amelyeknek meg kell egyezniük, mintha az alapnév lenne.

mentse el és zárja be a fájlt, ha elkészült.,

nézzük, lehetővé teszi a fájl a a2ensite eszköz:

  • sudo a2ensite your_domain.conf

Tiltsa le az alapértelmezett webhely meghatározott 000-default.conf:

  • sudo a2dissite 000-default.conf

a Következő teszteljük a konfigurációs hibák:

  • sudo apache2ctl configtest

látnia kell a következő kimenet:

Output
Syntax OK

Indítsa újra az Apache végrehajtani a változtatásokat:

  • sudo systemctl restart apache2

az Apache kell szolgálni a domain név., Ezt kipróbálhatja a navigációval, ahol valami ilyesmit kell látnia:

ezzel a virtuális gazdagép teljesen be van állítva. Mielőtt bármilyen további változtatást vagy egy alkalmazás telepítését elvégezné, hasznos lenne proaktívan tesztelni a PHP konfigurációját abban az esetben, ha bármilyen problémát meg kell oldani.

5. lépés — PHP feldolgozás tesztelése a webszerveren

annak tesztelése érdekében,hogy a rendszer megfelelően van konfigurálva a PHP-hez, hozzon létre egy nagyon alapvető PHP szkriptet, melynek neve info.php., Annak érdekében, hogy az Apache megtalálja ezt a fájlt, és helyesen szolgálja ki, el kell menteni a web gyökérkönyvtárába.

hozza létre a fájlt az előző lépésben létrehozott webes gyökérben a következő futással:

  • sudo nano /var/www/your_domain/info.php

Ez egy üres fájlt nyit meg. Adja hozzá a következő szöveget, amely érvényes PHP kód, a fájl belsejében:

info.php
<?phpphpinfo();?>

Ha elkészült, mentse el és zárja be a fájlt.

most már tesztelheti, hogy a webszerver képes-e helyesen megjeleníteni a PHP szkript által generált tartalmat. Ennek kipróbálásához látogasson el erre az oldalra a böngészőjében., Újra szüksége lesz a szerver nyilvános IP-címére.

a meglátogatni kívánt cím:

The page that you come to should look something like this:

This page provides some basic information about your server from the perspective of PHP. It is useful for debugging and to ensure that your settings are being applied correctly.

If you can see this page in your browser, then your PHP is working as expected.

You probably want to remove this file after this test because it could actually give information about your server to unauthorized users. To do this, run the following command:

  • sudo rm /var/www/your_domain/info.php

mindig újra létrehozhatja ezt az oldalt, ha később újra hozzá kell férnie az információkhoz.

következtetés

most, hogy van egy LÁMPACSOMAG telepítve, sok választási lehetősége van arra, hogy mit tegyen. Alapvetően, már telepített egy platform, amely lehetővé teszi, hogy telepítse a legtöbb fajta weboldalak, webes szoftver a szerveren.

azonnali következő lépésként gondoskodnia kell arról, hogy a webszerverhez való kapcsolatok biztosítva legyenek, a HTTPS-en keresztül történő kiszolgálással., A legegyszerűbb lehetőség itt a Let ‘ s Encrypt használata, hogy webhelyét ingyenes TLS / SSL tanúsítvánnyal biztosítsa.

néhány más népszerű lehetőség:

  • telepítse a WordPress-t a legnépszerűbb tartalomkezelő rendszer az interneten.
  • állítsa be a PHPMyAdmin-t, hogy segítsen kezelni a MySQL adatbázisokat a webböngészőből.
  • Ismerje meg, hogyan használhatja az SFTP-t fájlok átvitelére a kiszolgálóra.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük