Preduvjeti
Korak 1: Dodajte Sudo korisnika
Korak 2: Ažurirajte Fedora 26 sustav
Korak 3: Instalirajte Apache web poslužitelj
Korak 4: Otvorite portove web vatrozida
Korak 5: Onemogućite SELinux
Korak 6: Instalirajte PHP 7.1
Korak 7: Instalirajte MariaDB (MySQL) poslužitelj
Korak 8: Napravite bazu podataka za ProcessWire CMS
Korak 9: Instalirajte ProcessWire CMS datoteke
Korak 10: Dovršite instalaciju ProcessWire CMS-a
ProcessWire CMS 3.0 je jednostavan, fleksibilan i moćan, besplatan i otvoreni sustav za upravljanje sadržajem (CMS). ProcessWire CMS 3.0 sadrži API u stilu jQueryja jednostavan za korištenje, potpuno modularnu arhitekturu dodataka i fleksibilan i moćan sustav predložaka koji pruža jednako zadovoljavajuće korisničko iskustvo za dizajnere, programere i krajnje korisnike.
U ovom vodiču ćemo instalirati ProcessWire CMS 3.0 na Fedora 26 LAMP VPS koristeći Apache web poslužitelj, PHP 7.1 i MariaDB bazu podataka.
Preduvjeti
- Čista instanca poslužitelja Vultr Fedora 26 sa SSH pristupom
Korak 1: Dodajte Sudo korisnika
Započet ćemo dodavanjem novog sudokorisnika.
Prvo se prijavite na svoj poslužitelj kao root:
ssh root@YOUR_VULTR_IP_ADDRESS
Dodajte novog korisnika pod nazivom user1(ili svoje željeno korisničko ime):
useradd user1
Zatim postavite lozinku za user1korisnika:
passwd user1
Kada se to od vas zatraži, unesite sigurnu i nezaboravnu lozinku.
Sada provjerite /etc/sudoersdatoteku kako biste bili sigurni da je sudoersgrupa omogućena:
visudo
Potražite odjeljak poput ovoga:
%wheel ALL=(ALL) ALL
I provjerite je li bez komentara. Ovaj redak nam govori da korisnici koji su članovi wheelgrupe mogu koristiti sudonaredbu za stjecanje rootprivilegija.
Nakon što ste uredili datoteku, možete je spremiti i izaći tako da pritisnete Esci zatim unesete :wqda biste "pisali" i "napustili" datoteku.
Zatim user1u wheelgrupu trebamo dodati :
usermod -aG wheel user1
Možemo provjeriti user1članstvo u grupi i provjeriti je li usermodnaredba radila s groupsnaredbom:
groups user1
Sada koristite sunaredbu za prebacivanje na novi sudo korisnički user1račun:
su - user1
Naredbeni redak će se ažurirati kako bi naznačio da ste sada prijavljeni na user1račun. To možete provjeriti whoaminaredbom:
whoami
Sada ponovno pokrenite sshduslugu kako biste se mogli prijaviti putem sshnovog sudo korisničkog računa koji ste upravo kreirali:
sudo systemctl restart sshd
Izađite iz user1računa:
exit
Izađite iz rootračuna (što će prekinuti vašu sshsesiju)
exit
Sada možete sshući u instancu poslužitelja sa svog lokalnog hosta koristeći novi nekorijenski sudo korisnički user1račun:
ssh user1@YOUR_VULTR_IP_ADDRESS
Ako želite izvršiti sudobez potrebe da svaki put upisujete lozinku, zatim ponovo otvorite /etc/sudoersdatoteku pomoću visudo:
sudo visudo
Uredite odjeljak za wheelgrupu tako da izgleda ovako:
%wheel ALL=(ALL) NOPASSWD: ALL
Napomena: Onemogućavanje zahtjeva za lozinkom za sudo korisnika nije preporučena praksa, ali je ovdje uključena jer može učiniti konfiguraciju poslužitelja mnogo praktičnijom i manje frustrirajućom, osobito tijekom dužih sesija administracije sustava. Ako ste zabrinuti zbog sigurnosnih implikacija, uvijek možete vratiti promjenu konfiguracije na izvornu nakon što završite svoje administrativne zadatke.
Kad god se želite prijaviti na rootkorisnički račun iz sudokorisničkog računa, možete koristiti jednu od sljedećih naredbi:
sudo -i
sudo su -
Možete izaći s rootračuna i vratiti se na svoj sudokorisnički račun u bilo kojem trenutku jednostavnim upisivanjem exit.
Korak 2: Ažurirajte Fedora 26 sustav
Prije instaliranja bilo kojeg paketa na instancu poslužitelja Fedora, prvo ćemo ažurirati sustav.
Provjerite jeste li prijavljeni na poslužitelj koristeći sudo korisnika koji nije root i pokrenite sljedeću naredbu:
sudo dnf -y update
Korak 3: Instalirajte Apache web poslužitelj
Instalirajte Apache web poslužitelj:
sudo dnf -y install httpd
Upotrijebite systemctlnaredbu za pokretanje i omogućite automatsko izvršavanje Apachea prilikom pokretanja:
sudo systemctl enable httpd
sudo systemctl start httpd
Provjerite svoju Apache konfiguracijsku datoteku kako biste bili sigurni da DocumentRootdirektiva pokazuje na ispravan direktorij:
sudo vi /etc/httpd/conf/httpd.conf
Opcija DocumentRootkonfiguracije će izgledati ovako:
DocumentRoot "/var/www/html"
Sada, provjerimo je li mod_rewriteApache modul učitan. To možemo učiniti pretraživanjem konfiguracijske datoteke osnovnih modula Apache za pojam " mod_rewrite".
Otvorite datoteku:
sudo vi /etc/httpd/conf.modules.d/00-base.conf
Potražite pojam mod_rewrite.
Ako je mod_rewritemodul Apache učitan, pronaći ćete konfiguracijsku liniju koja izgleda ovako:
LoadModule rewrite_module modules/mod_rewrite.so
Ako gornji redak počinje s točkom-zarezom, morat ćete ukloniti točku-zarez kako biste dekomentirali redak i učitali modul. To se, naravno, odnosi i na sve ostale potrebne Apache module.
Sada moramo urediti Apacheovu zadanu konfiguracijsku datoteku tako da mod_rewriteće ispravno raditi s ProcessWire CMS-om.
Otvorite datoteku:
sudo vi /etc/httpd/conf/httpd.conf
Zatim pronađite odjeljak koji počinje s <Directory "/var/www/html">i promijenite AllowOverride noneu AllowOverride All. Konačni rezultat (sa uklonjenim svim komentarima) izgledat će otprilike ovako:
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Sada spremite i zatvorite Apache konfiguracijsku datoteku.
Ponovo ćemo pokrenuti Apache na kraju ovog vodiča, ali redovito ponovno pokretanje Apachea tijekom instalacije i konfiguracije svakako je dobra navika, pa učinimo to sada:
sudo systemctl restart httpd
Korak 4: Otvorite portove web vatrozida
Sada moramo otvoriti zadane HTTPi HTTPSportove jer će firewalldprema zadanim postavkama biti blokirani .
Otvorite portove vatrozida:
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp
Ponovno učitajte vatrozid da biste primijenili promjene:
sudo firewall-cmd --reload
Vidjet ćete riječ successprikazanu u vašem terminalu nakon svake uspješne naredbe za konfiguraciju vatrozida.
Možemo brzo provjeriti je li Apache HTTPport otvoren posjetom IP adrese ili domene instance poslužitelja u pregledniku:
http://YOUR_VULTR_IP_ADDRESS/
Vidjet ćete zadanu Apache web stranicu u vašem pregledniku.
Korak 5: Onemogućite SELinux
SELinux je skraćenica za "Security Enhanced Linux". To je sigurnosno poboljšanje za Linux koje korisnicima i administratorima omogućuje veću kontrolu nad kontrolom pristupa. Omogućen je prema zadanim postavkama u Fedori 26, ali definitivno nije ključan za sigurnost poslužitelja jer se mnoge distribucije Linux poslužitelja ne isporučuju s njim instaliranim ili omogućenim prema zadanim postavkama.
Kako bismo izbjegli probleme s dopuštenjem datoteka s ProcessWire CMS kasnije u nastavku, za sada ćemo onemogućiti SELinux. Stoga otvorite konfiguracijsku datoteku SELinuxa sa svojim omiljenim uređivačem terminala:
sudo vi /etc/selinux/config
I promijenite SELINUX=enforcingu SELINUX=disabled, a zatim spremite datoteku.
To apply the configuration change, SELinux requires a server reboot, so you can either restart the server using the Vultr control panel or you can simply use the shutdown command to cleanly shutdown and restart the server:
sudo shutdown -r now
When the server reboots, your SSH session will get disconnected and you may see a message informing you about a 'broken pipe' or informing you 'Connection closed by remote host'. This is nothing to worry about, simply wait for 20 seconds or so and then SSH back in again (with your own username and domain):
ssh user1@YOUR_DOMAIN
Or (with your own username and IP address):
ssh user1@YOUR_VULTR_IP_ADDRESS
Once you have logged back in, you should check the status of SELinux with the sestatus command to make sure it is properly disabled:
sudo sestatus
You will see a message saying SELinux status: disabled. If you see a message saying SELinux status: enabled (or something similar) you will need to repeat the above steps and ensure that you properly restart your server.
Step 6: Install PHP 7.1
We can now install PHP 7.1 along with all of the necessary PHP modules required by ProcessWire CMS.
sudo dnf -y install php php-mysqlnd php-mbstring php-gd php-common php-pdo php-pecl-imagick php-xml php-zip
Step 7: Install MariaDB (MySQL) Server
Fedora 26 defaults to using MariaDB database server, which is an enhanced, fully open source, community developed, drop-in replacement for MySQL server.
Install MariaDB database server:
sudo dnf -y install mariadb-server
Start and enable MariaDB server to execute automatically at boot time:
sudo systemctl enable mariadb
sudo systemctl start mariadb
Secure your MariaDB server installation:
sudo mysql_secure_installation
The root password will be blank, so simply hit enter when prompted for the root password.
When prompted to create a MariaDB/MySQL root user, select "Y" (for yes) and then enter a secure root password. Simply answer "Y" to all of the other yes/no questions as the default suggestions are the most secure options.
Step 8: Create Database for ProcessWire CMS
Log into the MariaDB shell as the MariaDB root user by running the following command:
sudo mysql -u root -p
To access the MariaDB command prompt, simply enter the MariaDB root password when prompted.
Run the following queries to create a MariaDB database and database user for ProcessWire CMS:
CREATE DATABASE pw_db CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'pw_user'@'localhost' IDENTIFIED BY 'UltraSecurePassword';
GRANT ALL PRIVILEGES ON pw_db.* TO 'pw_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
You can replace the database name pw_db and username pw_user with something more to your liking, if you prefer. Also, make sure that you replace "UltraSecurePassword" with an actually secure password.
Korak 9: Instalirajte ProcessWire CMS datoteke
Promijenite svoj trenutni radni direktorij u zadani web direktorij:
cd /var/www/html/
Ako dobijete poruku o pogrešci koja kaže nešto poput, 'No such file or directory'pokušajte sljedeću naredbu:
cd /var/www/ ; sudo mkdir html ; cd html
Vaš trenutni radni imenik sada će biti: /var/www/html/. To možete provjeriti pwdnaredbom (ispis radnog imenika):
pwd
Sada koristite wgetza preuzimanje instalacijskog paketa ProcessWire CMS:
sudo wget https://github.com/processwire/processwire/archive/master.zip
Napomena: svakako biste trebali provjeriti najnoviju verziju tako što ćete posjetiti stranicu za preuzimanje ProcessWire CMS-a .
Navedite trenutni direktorij kako biste provjerili jeste li uspješno preuzeli datoteku:
ls -la
Idemo brzo instalirati unzipkako bismo mogli raspakirati datoteku:
sudo dnf -y install unzip
Sada dekomprimirajte zip arhivu:
sudo unzip master.zip
Premjestite sve instalacijske datoteke u web korijenski direktorij:
sudo mv processwire-master/* /var/www/html
Promijenite vlasništvo nad web datotekama kako biste izbjegli probleme s dopuštenjima:
sudo chown -R apache:apache * ./
Ponovno pokrenite Apache:
sudo systemctl restart httpd
Korak 10: Dovršite instalaciju ProcessWire CMS-a
Sada je vrijeme da posjetite IP adresu instance vašeg poslužitelja u vašem pregledniku ili ako ste već konfigurirali svoje Vultr DNS postavke (i dali ste mu dovoljno vremena za širenje), možete jednostavno posjetiti svoju domenu.
Da biste pristupili instalacijskoj stranici ProcessWire CMS-a, unesite IP adresu svoje instance Vultr u adresnu traku preglednika, a zatim index.php:
http://YOUR_VULTR_IP_ADDRESS/install.php
Instalacijski program ProcessWire CMS-a sadrži mnogo opcija, pa evo nekoliko savjeta koji će vam pomoći:
Na stranici dobrodošlice za instalaciju ProcessWire CMS-a kliknite Get Startedgumb za pokretanje postupka instalacije.
Sada odaberite željeni instalacijski profil (ili demo stranicu) i kliknite Continue.
Vidjet ćete Compatibility Checkstranicu. Ako vidite bilo kakve pogreške, to vjerojatno znači da vam nedostaju neki PHP moduli ili imate problem s dopuštenjima, inače možete jednostavno kliknuti Continue.
Unesite sljedeće vrijednosti na MySQL Database Settingsstranicu:
DB Name: pw_db
DB User: pw_user
DB Pass: UltraSecurePassword
DB Host: localhost
DB Port: 3306
File PermissionPostavke možete ostaviti na zadanim vrijednostima ili ih možete prilagoditi ako razumijete implikacije.
Možete unijeti buduća imena hostova svoje stranice u odgovarajući odjeljak ili možete site/config.phpkasnije urediti datoteku ako želite.
Kliknite Continueda biste konfigurirali bazu podataka i instalirali ProcessWire CMS datoteke.
Zatim odaberite željenu opciju Admin Theme.
Ako želite, možete promijeniti Admin URLili ga jednostavno ostaviti na zadanoj vrijednosti.
Unesite svoje Admin Login Detailskao što je prikazano u nastavku:
User (a-z 0-9): <admin username>
Password: <admin password>
Password (again): <same admin password>
Email Address: <admin email address>
Nakon što unesete sve odgovarajuće pojedinosti, možete kliknuti Continueda biste dovršili instalaciju ProcessWire.
Kada je instalacija dovršena, jednostavno kliknite na Login to Admingumb za prijavu u odjeljak Administrator.
Možda ćete vidjeti upozorenje koje kaže nešto poput:
Warning: your server locale is undefined and may cause issues. Please add this to /site/config.php file (adjust en_US.UTF-8†as needed): setlocale(LC_ALL,'en_US.UTF-8');
Ovu grešku možete popraviti uređivanjem site/config.phpdatoteke:
sudo vi site/config.php
Dodajte odgovarajuću vrijednost na kraj datoteke:
setlocale(LC_ALL,'en_GB.utf8');
Ako ne možete shvatiti koju vrijednost upotrijebiti, možete pronaći popis odgovarajućih vrijednosti za svoju instancu poslužitelja pokretanjem localenaredbe:
locale -a
Ne zaboravite spremiti i izaći iz site/config.phpdatoteke kada završite s uređivanjem.
Iz sigurnosnih razloga, provjerite jeste li promijenili dopuštenja za site/config.phpdatoteku:
sudo chmod 400 site/config.php
Ponovno pokrenite Apache.
sudo systemctl restart httpd
Spremni ste početi dodavati svoj sadržaj i konfigurirati izgled i dojam svoje stranice. Svakako provjerite izvrsnu dokumentaciju ProcessWire CMS-a za više informacija o tome kako izgraditi i konfigurirati svoju web stranicu.