Wordpress telepítés második kiadás Buday Gergely 2015. ősz
Bevezetés Ez a leírás a Wordpress blogmotor telepítését mutatja be Fedora Linux operációs rendszeren. A Wordpress működéséhez három dolgot kell összehangolni: a webszervert, az adatbáziskezelőt és a Wordpress telepítést. Ebben a leírásban Apache webszervert és MariaDB adatbáziskezelőt használunk. Ahhoz hogy kívülről is elérjük a Wordpress oldalt, a tűzfalt is konfigurálnunk kell. A működéshez fel kell telepítenünk a MariaDB adatbáziskezelőt, az Apache webszervert, a php értelmezőt és az php és az adatbázis együttműködését lehetővé tevő csomagot.
Az Apache webszerver Ha a httpd parancsot nem ismeri a rendszer: $ httpd bash: httpd: a parancs nem található... akkor fel kell installálni. $ yum search Apache|grep ^httpd httpd.i686 : Apache HTTP Server httpd-itk.i686 : MPM Itk for Apache HTTP Server httpd-devel.i686 : Development interfaces for the Apache HTTP server httpd-manual.noarch : Documentation for the Apache HTTP server httpd-tools.i686 : Tools for use with the Apache HTTP Server Az első a megfelelő csomag, ezt a $ sudo yum install httpd paranccsal rakhatjuk fel. Ez kiírja a függőségeket, azokat a csomagokat, amiket még fel kell installálni ahhoz hogy a httpd működjön. Válaszoljunk igennel a kérdésre hogy fel akarjuk-e ezeket is rakni. Ezután a $ systemctl status httpd.service paranccsal ellenőrizhetjük a httpd szolgáltatás státuszát. Alapértelmezésben ez nincs engedélyezve, adjunk neki engedélyt: $ sudo systemctl enable httpd.service Ez a legközlebbi rendszerindításkor elindítja a webszervert. Indítsuk el most kézzel: $ sudo systemctl start httpd.service A Unix rendszerekben a szolgáltatások (újra)indításához nincs szükség a rendszer újraindítására. A Wordpress működéséhez fel kell még rakni a php és a php-mysqlnd csomagokat és újra kell indítani a webszervert: $ sudo yum install php $ sudo yum install php-mysqlnd $ sudo systemctl restart httpd.service
1
A MariaDB adatbáziskezelő A MariaDB adatbáziskezelő a MySQL egy változata. A különválás egy licensz vita miatt történt. A MySQL dokumentáció alapvetően haszálható a MariaDB-hez is. Először nézzük meg hogy az adatbázis fel van-e installálva: $ systemctl list-unit-files –type=service | grep mariadb mariadb.service disabled Installáljuk fel: $sudo yum install mariadb-server Fontos hogz a mariadb-server csomagot kell felrakni, a szimpla mariadb csomag csak a klienst tartalmazza. Ha ez megvan, akkor a webszerverhez hasonlóan ezt is engedélyezni és indítani kell a systemctl enable ill. start paranccsal. Az alapértelmezett adminisztrátor jelsző az üres string, ezt változtassuk meg: $ sudo mysql_secure_installation Ez a parancs megkérdezi az új root jelszót — nem keverendő össze a Linux rendszer root jelszavával — és más beállításokat. Fogadjuk el a javaslatokat. Az új jelszóval lépjünk be az adatbáziskezelőbe: $ mysql -u root -p A -u kapcsoló a user szóra utal, utána a felhasználónevet kell megadni, ebben az esetben ez root. A -p kapcsoló a password szóra utal, a parancs be fogja kérni a jelszót. Ha beléptünk, hozzunk létre egy felhasználót: > create user 'im'@'localhost' identified by "joe56="; Itt fontos hogy a hosztnevet is megadjuk mert így fog majd jól együttműködni a Wordpress-szel. Hozzunk létre egy adatbázist: > create database infrastruktura; és adjunk meg minden jogot az előbb létrehozott felhasználónak: > grant all privileges on infrastruktura.* to 'im'@'localhost'; Ezután érvényesíteni kell a módosításokat, mert azok eddig csak egy pufferba kerültek be. > flush privileges; Lépjünk ki a MariaDB-ből és lépjünk be normál felhasználóként: $ mysql -u im -p Ellenőrizzük hogy hozzá tudunk-e férni az adatbázishoz: > use infrastruktura; és hogy milyen táblákat látunk: > show tables;
2
A Wordpress blogmotor A http://hu.wordpress.org oldalról szerezzük be a letöltési linket, a .tar.gz változatot, és töltsük le a HOME könyvtárunkba. $ curl -O https://hu.wordpress.org/wordpress-4.3.1-hu_HU.tar.gz Csomagoljuk ki a letöltött archív fájlt: $ tar xzf wordpress-4.3.1-hu_HU.tar.gz lépjünk be a wordpress könyvtárba: $ cd wordpress Nézzük meg a webszerver beállítását, hol tárolja a fájljait: $ grep DocumentRoot /etc/httpd/conf/httpd.conf # DocumentRoot: The directory out of which you will serve your DocumentRoot "/var/www/html" # access content that does not live under the DocumentRoot. A Wordpress fájljait ide kell bemásolni: $ sudo cp -R -p * /var/www/html A -R a teljes könyvtárfát bemásolja, rekurzívan, a -p kapcsoló pedig megőrzi a jogokat, a tulajdonost és az időbélyegeket. Ezek után érdemes a DocumentRoot alatti fájlokat átadni az apache felhasználónak, a webszerver e felhasználóként fut. $ cd /var/www/html $ sudo chown -R apache:apache . A Wordpress installáció gyökerében van egy wp-config-sample.php fájl, ezt át kell másolni wp-config.php névre: $ cp wp-config-sample.php wp-config.php és be kell állítani az adatbázis-hozzáférés adatait a wp-config.php fájlban: // ** MySQL beállítások - Ezeket a szolgálatótól lehet beszerezni ** // /** Adatbázis neve */ define('DB_NAME', 'infrastruktura'); /** MySQL felhasználónév */ define('DB_USER', 'im'); /** MySQL jelszó. */ define('DB_PASSWORD', 'joe56='); /** MySQL kiszolgáló neve */ define('DB_HOST', 'localhost'); Ezen kívül érdemes beállítani az adatbázis táblák nevének prefixét. Ez a gyakorlatban akkor hasznos, ha egy webes tárhelyen csak egy adatbázist használhatunk de több honlapot akarunk megvalósítani. $table_prefix
= 'im_';
3
Tesztoldal, tűzfal Ezek után ha a megfelelő IP címre irányítjuk a böngészőt akkor be kell jöjjön az Apache tesztoldala. Ha mégsem, akkor a tűzfalon engedélyeznünk kell a webes forgalmat, illetve a webszervernek meg kell mondjuk hogy milyen IP címen szolgálja ki a weboldalakat. $ sudo firewall-cmd --list-all public (default, active) interfaces: p2p1 p7p1 p8p1 sources: services: dhcpv6-client mdns ssh ports: masquerade: no forward-ports: icmp-blocks: rich rules: Láthatóan a http protokollt nem engedi át a tűzfal. Ekkor a $ sudo firewall-cmd --add-service=http parancs engedélyezi a webes forgalmat: $ sudo firewall-cmd --list-all public (default, active) interfaces: p2p1 p7p1 p8p1 sources: services: dhcpv6-client http mdns ssh ports: 80/tcp masquerade: no forward-ports: icmp-blocks: rich rules: Be kell még konfigurálni a webszerver külső címét. Ehhez nézzük meg a p7p1 hálózati interfész IPv4 címét: $ ip addr show dev p7p1 3: p7p1:
mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 08:00:27:f5:90:2f brd ff:ff:ff:ff:ff:ff inet 192.168.56.101/24 scope global dynamic p7p1 valid_lft 983sec preferred_lft 983sec inet6 fe80::a00:27ff:fef5:902f/64 scope link valid_lft forever preferred_lft forever Tehát ez a cím 192.168.56.101 . Írjuk ezt be a webszerver konfigurációs fájljába: $ sudo vi /etc/httpd/conf/httpd.conf Ez előre meghatározott szakaszokból áll. Bár akárhová beszúrhatjuk az alábbi direktívát, jobb ha rákeresünk a Listen szóra és oda szúrjuk be a következő sort: Listen 192.168.56.101:80 A 80-as szám a webszerverek szabványos 80-as portja. Indítsuk újra a webszervert: $ sudo systemctl restart httpd.service A gépen belülről is tudjuk tesztelni a webszervert: $ curl 192.168.56.101 illetve a gazdagép böngészőjéből is, ott is ezt az IP címet kell megadni. Valószínűleg az Apache tesztoldala jön be, de mi a Wordpress-t akarjuk látni, ehhez szerkesszük a megfelelő fájlt: 4
$ sudo vi /etc/httpd/conf.d/welcome.conf A bash-hez hasonlóan az Apache konfigurációs fájlok is megjegyzésnek tekintenek mindent ami kettőskereszttel kezdődik. Kommenteljük ki a fájl lényegi részét: # # # # # # # # # # # # # # # # # #
This configuration file enables the default "Welcome" page if there is no default index page present for the root URL. To disable the Welcome page, comment out all the lines below. NOTE: if this file is removed, it will be restored on upgrades. Options -Indexes ErrorDocument 403 /.noindex.html AllowOverride None Require all granted Alias /.noindex.html /usr/share/httpd/noindex/index.html
Ezután indítsuk újra a webszervert. A böngészőt újra a megfelelő IP címre irányítva most már el kell induljon a Wordpress installáló programja, ami két perc alatt beindítja a honlapunkat.
5