Vendosni WordPress në krye të FAMP në FreeBSD 11.1


Ky udhëzues do të tregojë se si të instaloni dhe konfiguroni CMS-në më të njohur me burim të hapur të përdorur në internet, WordPress, në krye të FAMP në versionin më të fundit të FreeBSD 11.x. FAMP është një akronim që përshkruan paketën e mëposhtme të softuerit:  FreeBSD 11.1 Sistem operativ i ngjashëm me Unix, Apache server HTTP, një nga serverët më të njohur të uebit me burim të hapur në interneti, MariaDB RDBMS (sistemi i menaxhimit të bazës së të dhënave relacionale), i cili është një pjesë e motorit të bazës së të dhënave MySQL dhe PHP gjuhës programuese në anën e serverit.

KËRKESAT:

  • Instalimi i FreeBSD 11.x kryhet nga e para ose asnjë softuer i mëparshëm FAMP i instaluar në sistem.
  • Karta e ndërfaqes së rrjetit është konfiguruar me një adresë IP statike.
  • Serveri SSH i instaluar dhe konfiguruar për qasje në distancë ose qasje të drejtpërdrejtë në tastierën e linjës së komandës së serverit.
  • Preferohet një emër domaini i regjistruar (jo absolutisht i nevojshëm në këtë tutorial sepse ne do të përdorim adresën IP statike të serverit për të vizituar faqen e internetit).
  • Një llogari sudo në server e konfiguruar me privilegje rrënjësore ose qasje të drejtpërdrejtë në llogarinë rrënjë.

Hapi 1 - Instaloni MariaDB

Përpara se të instaloni paketën FAMP në serverin tuaj FreeBSD, identifikohuni me një llogari me privilegje root dhe sigurohuni që sistemi juaj të jetë plotësisht i përditësuar duke lëshuar komandat e mëposhtme.

freebsd-update fetch
freebsd-update install
pkg update
pkg upgrade

Për të lehtësuar administrimin e serverit nga linja e komandës, sigurohuni që të instaloni edhe paketat e mëposhtme:

pkg install bash bash_completion nano

Nano është një redaktues i njohur i linjës së komandës Linux. Në FreeBSD, ee është redaktori i parazgjedhur i skedarëve. Redaktori Vi është gjithashtu i instaluar, si parazgjedhje, në FreeBSD.

Për të vendosur një uebsajt Wordpress në një server, është absolutisht e pamundur të lidheni me një bazë të dhënash relacionale. Një nga RDBMS më të përdorura në lidhje me Wordpress është MySQL/MariaDB. Pra, komponenti i parë që do të instalohet në pirgun tonë FAMP do të jetë serveri i bazës së të dhënave MySQL. Në mënyrë që të kërkoni për versionet dhe komponentët e disponueshëm të bazës së të dhënave MariaDB, të cilat do të përdoren në këtë konfigurim në favor të bazës së të dhënave MySQL, lëshoni një nga komandat e mëposhtme në tastierën tuaj të makinës.

ls -al /usr/ports/databases/ | grep mariadb
pkg search -o mariadb

Pastaj, instaloni versionin më të fundit të serverit të bazës së të dhënave MariaDB në FreeBSD, duke ekzekutuar komandën e mëposhtme:

pkg install mariadb102-client mariadb102-server

Në hapin tjetër, sigurohuni që të aktivizoni daemon MariaDB në FreeBSD dhe të filloni shërbimin e bazës së të dhënave duke ekzekutuar komandat e mëposhtme.

sysrc mysql_enable=”YES”
service mysql-server start

Më pas, filloni të siguroni bazën e të dhënave MaraDB duke ekzekutuar skriptin mysql_secure_installation. Përdorni shembullin e mëposhtëm të instalimit për të siguruar bazën e të dhënave MariaDB. Gjithashtu, sigurohuni që të zgjidhni një fjalëkalim të fortë për përdoruesin rrënjësor të MySQL.

/usr/local/bin/mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
 
In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
 
Enter current password for root (enter for none):
OK, successfully used password, moving on...
 
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y
 ... Success!
Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] y
 ... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y
 ... Success!
Cleaning up...
All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!

Shërbimi MariaDB është konfiguruar, si parazgjedhje, për të lidhur dhe dëgjuar për lidhjet e rrjetit në prizën e rrjetit 0.0.0.0:3306/TCP. Duke ekzekutuar komandën sockstat me flamujt -4 -6 do të vini re gjendjen e prizës MariaDB siç ilustrohet në pamjen e mëposhtme të ekranit.

sockstat -4 -6

Kjo sjellje e serverit MySQL është e prirur ndaj çështjeve të sigurisë, kështu që ne do të çaktivizojmë plotësisht qasjen në distancë në MariaDB duke e lidhur demonin vetëm me ndërfaqen loopback , duke lëshuar komandën e mëposhtme . Do t'ju duhet të rinisni demonin për të pasqyruar ndryshimet.

sysrc mysql_args="--bind-address=127.0.0.1".
service mysql-server restart

Megjithatë, lësho sërish komandën sockstat për të përcaktuar statusin e ri të prizës së rrjetit MariaDB. Deri tani, MariaDB duhet të dëgjojë për lidhje vetëm nga ndërfaqja loopback , siç tregohet në pamjen e mëposhtme të ekranit.

sockstat -4

Më në fund, pas sigurimit të daemonit të bazës së të dhënave MySQL, krijoni bazën e të dhënave MariaDB për instalimin e Wordpress. Hyni në MariaDB nga tastiera e serverit dhe lëshoni komandat e mëposhtme për të krijuar bazën e të dhënave dhe përdoruesin që do të përdoret për të administruar bazën e të dhënave Wordpress. Futni fjalëkalimin rrënjësor të MySQL menjëherë dhe sigurohuni që të zëvendësoni emrin e bazës së të dhënave, përdoruesin e bazës së të dhënave dhe fjalëkalimin në përputhje me rrethanat.

mysql –u root –p
create database wordpress;
grant all privileges on wordpress.* to 'wpuser'@'localhost' identified by 'wppassword';
flush privileges;
exit

Hapi 2 – Instaloni serverin në internet Apache

Shërbimi tjetër që duhet të instaloni në mënyrë që të plotësoni stakun FAMP është serveri Apache HTTP. Depot e FreeBSD PORTS vijnë me dy versione të para-përpiluara të serverit në internet Apache. Për të renditur të gjitha versionet e kohës së ekzekutimit të Apache, lëshoni një nga komandat e mëposhtme në terminal.

pkg search apache2
ls /usr/ports/www/ | grep apache

Për këtë konfigurim të personalizuar me Wordpress, ne do të instalojmë versionin 2.4 të serverit Apache HTTP duke lëshuar komandën e mëposhtme.

pkg install apache24

Pasi të jetë instaluar në sistem paketa e serverit të uebit Apache me të gjitha varësitë, sigurohuni që ta aktivizoni dhe nisni demonin me komandat e mëposhtme.

sysrc apache24_enable=”yes”
service apache24 start

Për të testuar konfigurimin e Apache, hapni një shfletues dhe vizitoni faqen e paracaktuar të internetit përmes protokollit HTTP duke futur adresën IP të serverit tuaj ose të sistemit FQDN në URL-në e paraqitur, siç ilustrohet në imazhin e mëposhtëm. Një mesazh që thotë \Funksionon!\ duhet të shfaqet në shfletuesin tuaj.

http://server_IP ose_FQDN

Drejtoria e serverit Apache HTTP DocumentRoot  ndodhet në /usr/local/www/apache24/data/ shtegun në FreeBSD 11.x. Do të kopjojmë skedarët e instalimit të Wordpress në atë vend më vonë. Gjithashtu, sigurohuni që të hiqni skedarin e paracaktuar index.html duke lëshuar komandën e mëposhtme.

rm /usr/local/www/apache24/data/index.html

Hapi 3 – Instaloni PHP

Ngjashëm me serverin e internetit Apache, FreeBSD 11.x PORTS dërgohet me versione të shumta binare të para-përpiluara të gjuhës PHP: PHP 5.6, PHP 7.0 dhe PHP 7.1 lëshimi. Për të shfaqur të gjitha versionet PHP lëshoni një nga komandat e mëposhtme.

ls /usr/ports/lang/ | grep php
pkg search –o php

Në këtë tutorial të personalizuar ne do të përdorim versionin PHP 7.1 për instalimin e Wordpress. Lëshoni komandën e mëposhtme për të instaluar PHP me të gjitha modulet e nevojshme në mënyrë që Wordress të funksionojë siç duhet.

pkg install php71 php71-mysqli mod_php71 php71-mbstring php71-mcrypt php71-zlib php71-curl php71-gd php71-json

Në hapin tjetër, duke përdorur redaktuesin tuaj të preferuar të tekstit krijoni një skedar të ri php.conf për konfigurimin e serverit të uebit Apache në drejtorinë /usr/local/etc/apache24/Includes/ dhe shtoni përmbajtjen e mëposhtme.

nano /usr/local/etc/apache24/Includes/php.conf

Ekstrakt nga skedari php.conf:

<IfModule dir_module>
    DirectoryIndex index.php index.html
    <FilesMatch "\.php$">
        SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.phps$">
        SetHandler application/x-httpd-php-source
    </FilesMatch>
</IfModule>

Pasi të përfundoni redaktimin e skedarit, sigurohuni që të krijoni një skedar të ri phpinfo.php në shtegun e paracaktuar të webroot të Apache duke ekzekutuar komandën e mëposhtme për të provuar nëse porta e Apache PHP po funksionon siç pritej.

echo '<?php phpinfo();  ?>' | tee /usr/local/www/apache24/data/phpinfo.php

Më në fund, rinisni shërbimin Apache në mënyrë që të aplikoni ndryshimet dhe lundroni në URL-në e mëposhtme për të shfaqur konfigurimin e serverit PHP siç ilustrohet në pamjen e mëposhtme të ekranit.

service apache24 restart

http://server_IP-or-FQDN/phpinfo.php

Gjithashtu, mund të dëshironi të krijoni skedarin e konfigurimit PHP ini për Apache dhe të ndryshoni deklaratën zona kohore për të pasqyruar vendndodhjen gjeografike të serverit tuaj. Lista e zonave kohore të mbështetura PHP mund të gjendet në lidhjen e mëposhtme: http://php.net/manual/en/timezones.php

Kopjo skedarin php.ini-production për të krijuar skedarin e paracaktuar të konfigurimit për PHP. Më pas, modifikoni skedarin php.ini në mënyrë që të ndryshoni konfigurimin e zonës kohore PHP.

cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
nano /usr/local/etc/php.ini

Ekstrakt nga skedari php.ini:

date.timezone = Continent/City

Për të aplikuar cilësimin e ri PHP, duhet të rinisni shërbimin Apache. Më pas, vizitoni përsëri faqen e internetit të phpinfo.php dhe lëvizni te cilësimi data për të parë nëse ndryshimi është zbatuar me sukses, siç ilustrohet në pamjen e mëposhtme të ekranit.

service apache24 restart

Hapi 4 – Instaloni WordPress

Për të instaluar Wordpress në krye të FAMP në FreeBSD, së pari shkarkoni versionin më të fundit të arkivit të instalimit tarball në sistemin tuaj duke përdorur mjetin wget . Ekstraktoni arkivin e shkarkuar dhe kopjoni të gjithë skedarët e instalimit të Wordpress në rrugën webroot të Apache duke lëshuar komandat e mëposhtme.

wget https://wordpress.org/latest.tar.gz
tar xfz latest.tar.gz
cp –rf wordpress/* /usr/local/www/apache24/data/

Më pas, rregulloni lejet e duhura në shtegun webroot të serverit tuaj për llogarinë e grupit të funksionimit Apache, në mënyrë që t'i jepni serverit të internetit lejet e shkrimit në direktorinë e instalimit të Wordpress.

chown -R root:www /usr/local/www/apache24/data/
chmod -R 775 /usr/local/www/apache24/data/

Tani, serveri juaj në internet është i përgatitur për procesin e instalimit të Wordpress. Hapni një shfletues dhe lundroni te adresa IP e serverit tuaj ose FQDN dhe do të shfaqet ekrani i parë i instalimit. Shtypni butonin Shkojmë! për të nisur instalimin.

Në ekranin tjetër futni emrin e bazës së të dhënave MariaDB, emrin e përdoruesit dhe fjalëkalimin e bazës së të dhënave Wordpress dhe hostin e bazës së të dhënave. Për shkak se serveri i uebit MariaDB dhe Apache janë instaluar në të njëjtën nyje, përdorni localhost për hostin e bazës së të dhënave. Lëreni vlerën e paracaktuar të Prefiksit të tabelës dhe shtypni butonin Dërgo për të vazhduar.

Pasi të krijohet skedari i konfigurimit të bazës së të dhënave, shtypni butonin Run the install dhe, në ekranin tjetër, shtoni një titull për faqen tuaj të internetit, një emër përdoruesi për të administruar faqen e internetit dhe një adresë emaili. Sigurohuni që të zgjidhni një fjalëkalim të fortë për emrin e përdoruesit. Gjithashtu, duhet të shmangni përdorimin e emrave të thjeshtë të përdoruesve si administrator, administrator, rrënjë etj, për shkak të implikimeve të sigurisë. Kur të keni mbaruar, shtypni butonin Instalo Wordpress për të përfunduar instalimin.

Pasi Wordpress të jetë instaluar me sukses, hyni në panelin e panelit të administratorit me kredencialet e krijuara në hapin e mëparshëm dhe filloni të menaxhoni faqen tuaj të internetit.

Në mënyrë që të përditësoni ose instaloni shtojca ose tema ose të ngarkoni fotografi ose të modifikoni aspekte të tjera të Wordpress që kërkon shkarkimin e skedarëve nga interneti, shtojini rreshtin e mëposhtëm në skedarin Wordpress wp-config.php duke lëshuar komandën e mëposhtme me privilegje rrënjësore.

echo "define('FS_METHOD', 'direct');" | tee –a /usr/local/www/apache24/data/wp-config.php

Kjo linjë siguron që Wordpress mund të shkarkojë dhe instalojë skedarë ose përditësime në internet pa ekzekutuar serverin FTP në host. Megjithatë, kjo metodë mund të mos jetë zgjidhja më e mirë në rast se Wordpress është i instaluar në një plan të përbashkët të pritjes. Në pamjen e mëposhtme të ekranit, një përditësim për një shtesë është aplikuar me sukses duke përdorur FS_METHOD pa kërkuar një llogari ftp.

Së fundi, për të qenë në gjendje të ndryshoni strukturën e përhershme të lidhjes së brendshme të Wordpress, duhet të aktivizoni rishkrimin për serverin Apache HTTP. Për të aktivizuar modulin e rishkrimit, fillimisht hapni konfigurimin kryesor të Apache-së. skedari dhe shtoni bllokun e mëposhtëm të kodit përpara deklaratës  siç ilustrohet në pamjen e mëposhtme të ekranit.

nano /usr/local/etc/apache24/httpd.conf

Ekstrakt nga skedari httpd.conf:

<Directory "/usr/local/www/apache24/data">
                Require all granted        
                AllowOverride All
</Directory>

Më pas, mbyllni skedarin dhe hiqni komentin, rishkruani linjën LoadModule duke lëshuar komandën e mëposhtme e cila heq shenjën e mëparshme të hashtagut. Përdorni filtrin grep për të shfaqur linjën e rishkrimit LoadModule . Më në fund, kontrolloni skedarin e konfigurimit të Apache për gabime të mundshme sintaksore dhe rinisni shërbimin për të aplikuar ndryshimet.

grep rewrite /usr/local/etc/apache24/httpd.conf
sed -i.bak '/rewrite/s/^#//g' /usr/local/etc/apache24/httpd.conf
grep rewrite /usr/local/etc/apache24/httpd.conf
apachectl -t
service apache24 restart

Tani, mund të ndryshoni strukturën e lidhjes së përhershme të Wordpress duke lundruar te Panali i kontrollit ->Cilësimet -> Lidhjet e përhershme. Zgjidhni opsionin tuaj të preferuar të lidhjes së përhershme për strukturën e URL-së nga opsionet e ekranit dhe shtypni butonin Ruaj ndryshimet për të aplikuar ndryshimet. Një opsion i shkëlqyeshëm për SEO është Emri i postimit permalidhja.

Në rast se opsioni i lidhjes së përhershme nuk zbatohet, hapni dhe hetoni përmbajtjen e skedarit .htaccess nga shtegu i serverit tuaj në ueb. Përmbajtja e mëposhtme duhet të futet automatikisht në këtë skedar. Nëse jo, përditëso manualisht përmbajtjen e mëposhtme në skedarin .htaccess ose kontrollo lejet e skedarit. Llogaria e përdoruesit ose grupit në kohën e ekzekutimit të Apache duhet t'i jepet leje shkrimi për këtë skedar.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Kjo eshte e gjitha! Ju keni vendosur me sukses një uebsajt Wordpress në krye të serverit të internetit Apache, bazës së të dhënave MariaDB dhe gjuhës programuese PHP në FreeBSD 11.