Как да инсталирате ProcessWire CMS 3.0 на FreeBSD 11 FAMP VPS

ProcessWire CMS 3.0 е проста, гъвкава и мощна, безплатна система за управление на съдържанието (CMS) с отворен код. ProcessWire CMS 3.0 разполага с лесен за използване API в стил jQuery, напълно модулна архитектура на плъгини и гъвкава и мощна система за шаблони, която осигурява еднакво задоволително потребителско изживяване за дизайнери, разработчици и крайни потребители.

В този урок ще инсталираме ProcessWire CMS 3.0 на FreeBSD 11 FAMP VPS, използвайки уеб сървър на Apache, PHP 7.1 и база данни MariaDB.

Предпоставки

  • Чист Vultr FreeBSD 11 сървърен екземпляр със SSH достъп

Стъпка 1: Добавете потребител на Sudo

Ще започнем с добавяне на нов sudoпотребител.

Първо влезте в сървъра си като root:

ssh root@YOUR_VULTR_IP_ADDRESS

В sudoзаповедта не е инсталиран по подразбиране в 11 сървъра инстанция Vultr FreeBSD, така че ние първи ще се инсталира sudo:

pkg install sudo

Добавете нов потребител, наречен user1(или предпочитаното от вас потребителско име):

adduser user1

В adduserкомандата ще ви пита за много детайли за потребителския акаунт, така че просто изберете по подразбиране за повечето от тях, когато има смисъл да го правят. Когато бъдете попитани дали да Invite user1 into any other groups?, трябва да въведете, за wheelда добавите user1към wheelгрупата.

Сега проверете /etc/sudoersфайла, за да се уверите, че sudoersгрупата е активирана:

visudo

Потърсете раздел като този:

# %wheel        ALL=(ALL)       ALL

Този ред ни казва, че потребителите, които са членове на wheelгрупата, могат да използват sudoкомандата, за да получат rootпривилегии. Той ще бъде коментиран по подразбиране, така че ще трябва да го декомментирате и след това да запазите и излезете от файла.

Можем да проверим user1членството в групата с groupsкомандата:

groups user1

Ако user1не е член на wheelгрупата, можете да използвате тази команда, за да актуализирате user1членството в групата:

pw group mod wheel -m user1 

Сега използвайте suкомандата, за да превключите към новия потребителски user1акаунт sudo :

su - user1

Командният ред ще се актуализира, за да покаже, че вече сте влезли в user1акаунта. Можете да проверите това с whoamiкомандата:

whoami

Сега рестартирайте sshdуслугата, за да можете да влезете чрез sshновия не-root потребителски акаунт на sudo, който току-що създадохте:

sudo /etc/rc.d/sshd restart

Излезте от user1акаунта:

exit

Излезте от rootакаунта (което ще прекъсне връзката на вашата sshсесия):

exit

Вече можете да sshвлезете в сървърния екземпляр от вашия локален хост, като използвате новия не-root потребителски user1акаунт sudo :

ssh user1@YOUR_VULTR_IP_ADDRESS

Ако искате да изпълнявате, sudoбез да се налага да въвеждате парола всеки път, отворете /etc/sudoersфайла отново, като използвате visudo:

sudo visudo

Редактирайте секцията за wheelгрупата, така че да изглежда така:

%wheel        ALL=(ALL)       NOPASSWD: ALL

Моля, обърнете внимание: Деактивирането на изискването за парола за потребителя на sudo не е препоръчителна практика, но е включено тук, тъй като може да направи конфигурацията на сървъра много по-удобна и по-малко разочароваща, особено по време на по-дълги сесии на системно администриране. Ако сте загрижени за последиците за сигурността, винаги можете да върнете промяната на конфигурацията към оригинала, след като завършите административните си задачи.

Всеки път, когато искате да влезете в rootпотребителския акаунт от sudoпотребителския акаунт, можете да използвате една от следните команди:

sudo -i
sudo su -

Можете да излезете от rootакаунта и да се върнете обратно към вашия sudoпотребителски акаунт по всяко време, като просто напишете exit.

Стъпка 2: Актуализирайте FreeBSD 11 система

Преди да инсталираме пакети на сървъра на FreeBSD, първо ще актуализираме системата.

Уверете се, че сте влезли в сървъра, като използвате sudo потребител без root права и изпълнете следните команди:

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

Стъпка 3: Инсталирайте уеб сървъра на Apache

Инсталирайте уеб сървъра Apache 2.4:

sudo pkg install apache24

И въведете, yкогато бъдете подканени. Сега използвайте sysrcкомандата, за да разрешите на услугата Apache да се изпълнява автоматично при стартиране:

sudo sysrc apache24_enable=yes

В sysrcзаповедта актуализира /etc/rc.confконфигурационния файл, така че ако искате да се провери актуализацията на конфигурация ръчно можете просто да отворите /etc/rc.confфайла с любимия си редактор терминал:

vi /etc/rc.conf

Сега стартирайте услугата Apache:

sudo service apache24 start

Можете бързо да проверите дали Apache работи, като посетите IP адреса или домейна на сървърния екземпляр във вашия браузър:

http://YOUR_VULTR_IP_ADDRESS/

Ще видите страницата на FreeBSD Apache по подразбиране, показваща текста:

It works!

Проверете вашия конфигурационен файл по подразбиране на Apache, за да се уверите, че DocumentRootдирективата сочи към правилната директория:

sudo vi /usr/local/etc/apache24/httpd.conf

Опцията за DocumentRootконфигурация ще изглежда така:

DocumentRoot "/usr/local/www/apache24/data"

Сега трябва да активираме mod_rewriteмодула Apache. Можем да направим това, като потърсим в конфигурационния файл на Apache по подразбиране за термина mod_rewrite.

По подразбиране mod_rewriteмодулът Apache ще бъде коментиран (което означава, че е деактивиран). Конфигурационният ред на чист екземпляр на Vultr FreeBSD 11 ще изглежда така:

#LoadModule rewrite_module libexec/apache24/mod_rewrite.so

Просто премахнете хеш символа, за да декомментирате реда и да заредите модула. Това, разбира се, важи и за всички други необходими модули на Apache:

LoadModule rewrite_module libexec/apache24/mod_rewrite.so

Сега трябва да редактираме Directoryдирективата Apache в същия конфигурационен файл, така че mod_rewriteда работи правилно с ProcessWire CMS.

Намерете секцията от конфигурационния файл, която започва с <Directory "/usr/local/www/apache24/data">и променете AllowOverride noneна AllowOverride All. Крайният резултат (с премахнати всички коментари) ще изглежда така:

<Directory "/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

Сега запазете и излезте от конфигурационния файл на Apache.

Ще рестартираме Apache в края на този урок, но рестартирането на Apache редовно по време на инсталацията и конфигурацията със сигурност е добър навик, така че нека го направим сега:

sudo service apache24 restart

Стъпка 4: Инсталирайте PHP 7.1

Вече можем да инсталираме PHP 7.1 заедно с всички необходими PHP модули, изисквани от ProcessWire CMS:

sudo pkg install php71 mod_php71 php71-gd php71-mbstring php71-mysqli php71-xml php71-curl php71-ctype php71-tokenizer php71-simplexml php71-dom php71-session php71-iconv php71-hash php71-json php71-fileinfo php71-pdo php71-pdo_mysql php71-zlib php71-openssl php71-zip

FreeBSD 11 ни дава възможност да използваме разработка php.iniили продукция php.ini. Тъй като ще инсталираме Siverstripe на публичен уеб сървър, ще използваме производствената версия. Първо, архивирайте php.ini-production:

sudo cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini-production.backup

След това мека връзка php.ini-productionкъм php.ini.

sudo ln -s /usr/local/etc/php.ini-production /usr/local/etc/php.ini

We need to configure Apache to actually use PHP, so let's create a new file called php.conf in the Apache Includes directory:

sudo vi /usr/local/etc/apache24/Includes/php.conf

Enter the following text into the newly created file:

<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>

Save and exit the file.

Now let's restart Apache so that it can reload the configuration changes:

sudo service apache24 restart

Step 5: Install MariaDB (MySQL) Server

FreeBSD 11 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 pkg install mariadb102-server mariadb102-client

Start and enable MariaDB server to execute automatically at boot time:

sudo sysrc mysql_enable="yes"
sudo service mysql-server start

Secure your MariaDB server installation:

sudo mysql_secure_installation

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 6: 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.

Стъпка 7: Инсталирайте ProcessWire CMS файлове

Променете текущата си работна директория към уеб директорията по подразбиране:

cd /usr/local/www/apache24/data

Вашата текуща работна директория сега трябва да бъде: /usr/local/www/apache24/data. Можете да проверите това с pwdкомандата (печатна работна директория):

pwd

Сега използвайте, за wgetда изтеглите инсталационния пакет ProcessWire CMS:

sudo wget https://github.com/processwire/processwire/archive/master.zip

Моля, обърнете внимание: Определено трябва да проверите за най-новата версия, като посетите страницата за изтегляне на ProcessWire CMS .

Избройте текущата директория, за да проверите дали сте изтеглили файла успешно:

ls -la

Премахни index.html:

sudo rm index.html

Сега декомпресирайте zip архива:

sudo unzip master.zip

Преместете всички инсталационни файлове в главната уеб директория:

sudo mv processwire-master/* /usr/local/www/apache24/data

Променете собствеността върху уеб файловете, за да избегнете проблеми с разрешенията:

sudo chown -R www:www * ./

Рестартирайте Apache отново:

sudo service apache24 restart

Стъпка 8: Завършете инсталацията на ProcessWire CMS

Сега е време да посетите IP адреса на вашия сървърен екземпляр във вашия браузър или ако вече сте конфигурирали настройките на Vultr DNS (и сте му дали достатъчно време за разпространение), можете просто да посетите вашия домейн вместо това.

За да получите достъп до страницата за инсталиране на ProcessWire CMS, въведете IP адреса на вашия Vultr екземпляр в адресната лента на браузъра, последван от index.php:

http://YOUR_VULTR_IP_ADDRESS/install.php

Инсталаторът на ProcessWire CMS съдържа много опции, така че ето няколко насоки, които да ви помогнат:

  1. На началната страница за инсталиране на ProcessWire CMS щракнете върху Get Startedбутона, за да започнете инсталационния процес.

  2. Сега изберете предпочитания от вас инсталационен профил (или демо сайт) и щракнете върху Continue.

  3. Ще видите Compatibility Checkстраница. Ако видите някакви грешки, това вероятно означава, че ви липсват някои PHP модули или имате проблем с разрешенията, в противен случай можете просто да щракнете върху Continue.

  4. Въведете следните стойности в MySQL Database Settingsстраницата:

    DB Name:            pw_db
    DB User:            pw_user
    DB Pass:            UltraSecurePassword
    DB Host:            localhost
    DB Port:            3306
    
  5. Можете да оставите File Permissionнастройките на техните стойности по подразбиране или да ги коригирате, ако разбирате последствията.

  6. Можете да въведете бъдещите имена на хостове на вашия сайт в съответния раздел или да редактирате site/config.phpфайла по-късно, ако предпочитате.

  7. Щракнете върху, за Continueда конфигурирате базата данни и да инсталирате ProcessWire CMS файловете.

  8. След това изберете предпочитания от вас Admin Theme.

  9. Можете да промените, Admin URLако предпочитате, или просто да го оставите на стойността по подразбиране.

  10. Въведете своя, Admin Login Detailsкакто е показано по-долу:

    User (a-z 0-9):     <admin username>
    Password:           <admin password>
    Password (again):   <same admin password>
    Email Address:      <admin email address>
    
  11. След като бъдат въведени всички подходящи подробности, можете да щракнете, за Continueда финализирате инсталацията на ProcessWire.

  12. След като инсталацията приключи, просто щракнете върху Login to Adminбутона, за да влезете в секцията Admin.

Може да видите предупреждение, което казва нещо като:

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');

Можете да коригирате тази грешка, като редактирате site/config.phpфайла:

sudo vi site/config.php

Добавете подходящата стойност в края на файла:

setlocale(LC_ALL,'en_GB.utf8');

Ако не можете да разберете каква стойност да използвате, можете да намерите списък с подходящи стойности за вашия конкретен екземпляр на сървъра, като изпълните localeкомандата:

locale -a

Не забравяйте да запазите и излезете от site/config.phpфайла, когато приключите с редактирането.

От съображения за сигурност се уверете, че сте променили разрешенията за site/config.phpфайла:

sudo chmod 400 site/config.php

Рестартирайте Apache.

sudo service apache24 restart

Готови сте да започнете да добавяте вашето съдържание и да конфигурирате облика и усещането на вашия сайт. Не забравяйте да разгледате отличната документация на ProcessWire CMS за повече информация как да изградите и конфигурирате вашия сайт.


Как да инсталирате Tiny Tiny RSS Reader на FreeBSD 11 FAMP VPS

Как да инсталирате Tiny Tiny RSS Reader на FreeBSD 11 FAMP VPS

Използване на различна система? Tiny Tiny RSS Reader е безплатен четец и агрегатор с отворен код, самостоятелно хостван уеб базиран новинарски канал (RSS/Atom), предназначен да

Как да инсталирате Wiki.js на FreeBSD 11

Как да инсталирате Wiki.js на FreeBSD 11

Използване на различна система? Wiki.js е безплатно и модерно уики приложение с отворен код, изградено на Node.js, MongoDB, Git и Markdown. Изходният код на Wiki.js е публичен

Как да инсталирате Pagekit 1.0 CMS на FreeBSD 11 FAMP VPS

Как да инсталирате Pagekit 1.0 CMS на FreeBSD 11 FAMP VPS

Използване на различна система? Pagekit 1.0 CMS е красива, модулна, разширяема и лека, безплатна система за управление на съдържанието (CMS) с отворен код с

Как да инсталирате MODX Revolution на FreeBSD 11 FAMP VPS

Как да инсталирате MODX Revolution на FreeBSD 11 FAMP VPS

Използване на различна система? MODX Revolution е бърза, гъвкава, мащабируема система за управление на съдържанието (CMS) от корпоративен клас, написана на PHP. То и

Настройка на OpenBSD 5.5 64-битов

Настройка на OpenBSD 5.5 64-битов

Тази статия ви превежда през настройката на OpenBSD 5.5 (64-битов) на KVM с Vultr VPS. Стъпка 1. Влезте в контролния панел на Vultr. Стъпка 2. Щракнете върху РАЗГРАЖДАНЕ

Как да инсталирате osTicket на FreeBSD 12

Как да инсталирате osTicket на FreeBSD 12

Използване на различна система? osTicket е система за билети за поддръжка на клиенти с отворен код. Изходният код на osTicket се хоства публично на Github. В този урок

Как да инсталирате Flarum Forum на FreeBSD 12

Как да инсталирате Flarum Forum на FreeBSD 12

Използване на различна система? Flarum е безплатен софтуер за форуми от следващо поколение с отворен код, който прави онлайн дискусията забавна. Изходният код на Flarum се хоства o

Как да активирате TLS 1.3 в Nginx на FreeBSD 12

Как да активирате TLS 1.3 в Nginx на FreeBSD 12

Използване на различна система? TLS 1.3 е версия на протокола за сигурност на транспортния слой (TLS), който беше публикуван през 2018 г. като предложен стандарт в RFC 8446

Инсталирайте WordPress на OpenBSD 6.2

Инсталирайте WordPress на OpenBSD 6.2

Въведение WordPress е доминиращата система за управление на съдържанието в интернет. Той захранва всичко от блогове до сложни уебсайтове с динамично съдържание

Как да инсталирате Subrion 4.1 CMS на FreeBSD 11 FAMP VPS

Как да инсталирате Subrion 4.1 CMS на FreeBSD 11 FAMP VPS

Използване на различна система? Subrion 4.1 CMS е мощна и гъвкава система за управление на съдържанието (CMS) с отворен код, която носи интуитивно и ясно съдържание

Как да конфигурирате DJBDNS на FreeBSD

Как да конфигурирате DJBDNS на FreeBSD

Този урок ще ви покаже как да конфигурирате DNS услуга, която е лесна за поддръжка, лесна за конфигуриране и която като цяло е по-сигурна от класическия BIN

Как да инсталирате стека Nginx, MySQL и PHP (FEMP) на FreeBSD 12.0

Как да инсталирате стека Nginx, MySQL и PHP (FEMP) на FreeBSD 12.0

FEMP стек, който е сравним с LEMP стек в Linux, е колекция от софтуер с отворен код, който обикновено се инсталира заедно, за да даде възможност на FreeBS

Инсталиране на MongoDB на FreeBSD 10

Инсталиране на MongoDB на FreeBSD 10

MongoDB е NoSQL база данни от световна класа, която често се използва в по-новите уеб приложения. Той осигурява заявки с висока производителност, разделяне и репликация

Как да инсталирате Monica на FreeBSD 12

Как да инсталирате Monica на FreeBSD 12

Използване на различна система? Monica е система за управление на лични взаимоотношения с отворен код. Мислете за него като за CRM (популярен инструмент, използван от търговските екипи в th

OpenBSD като решение за електронна търговия с PrestaShop и Apache

OpenBSD като решение за електронна търговия с PrestaShop и Apache

Въведение Този урок демонстрира OpenBSD като решение за електронна търговия, използващо PrestaShop и Apache. Apache е необходим, тъй като PrestaShop има сложен UR

Инсталиране на Fork CMS на FreeBSD 12

Инсталиране на Fork CMS на FreeBSD 12

Използване на различна система? Fork е CMS с отворен код, написан на PHP. Изходният код на Forks се хоства на GitHub. Това ръководство ще ви покаже как да инсталирате Fork CM

Как да инсталирате Directus 6.4 CMS на FreeBSD 11 FAMP VPS

Как да инсталирате Directus 6.4 CMS на FreeBSD 11 FAMP VPS

Използване на различна система? Directus 6.4 CMS е мощна и гъвкава, безплатна и с отворен код Headless Content Management System (CMS), която предоставя на разработчиците

Повишаване на сигурността за FreeBSD с помощта на IPFW и SSHGuard

Повишаване на сигурността за FreeBSD с помощта на IPFW и SSHGuard

VPS сървърите често са насочени от натрапници. Често срещан тип атака се появява в системните регистрационни файлове като стотици неоторизирани опити за влизане в ssh. Настройвам

Настройте httpd в OpenBSD

Настройте httpd в OpenBSD

Въведение OpenBSD 5.6 въведе нов демон, наречен httpd, който поддържа CGI (чрез FastCGI) и TLS. Не е необходима допълнителна работа за инсталиране на новия http

Настройте iRedMail на FreeBSD 10

Настройте iRedMail на FreeBSD 10

Този урок ще ви покаже как да инсталирате груповия софтуер iRedMail на нова инсталация на FreeBSD 10. Трябва да използвате сървър с поне един гигабайт o

Възходът на машините: Реални приложения на AI

Възходът на машините: Реални приложения на AI

Изкуственият интелект не е в бъдещето, тук е точно в настоящето. В този блог Прочетете как приложенията за изкуствен интелект са повлияли на различни сектори.

DDOS атаки: кратък преглед

DDOS атаки: кратък преглед

Вие също сте жертва на DDOS атаки и сте объркани относно методите за превенция? Прочетете тази статия, за да разрешите вашите запитвания.

Чудили ли сте се как хакерите печелят пари?

Чудили ли сте се как хакерите печелят пари?

Може би сте чували, че хакерите печелят много пари, но чудили ли сте се някога как печелят такива пари? нека обсъдим.

Революционни изобретения на Google, които ще улеснят живота ви.

Революционни изобретения на Google, които ще улеснят живота ви.

Искате ли да видите революционни изобретения на Google и как тези изобретения промениха живота на всяко човешко същество днес? След това прочетете в блога, за да видите изобретенията на Google.

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Friday Essential: Какво се случи с колите, задвижвани от изкуствен интелект?

Концепцията за самоуправляващи се автомобили да тръгват по пътищата с помощта на изкуствен интелект е мечта, която имаме от известно време. Но въпреки няколкото обещания, те не се виждат никъде. Прочетете този блог, за да научите повече…

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Технологична сингулярност: далечно бъдеще на човешката цивилизация?

Тъй като науката се развива с бързи темпове, поемайки много от нашите усилия, рискът да се подложим на необяснима сингулярност също нараства. Прочетете какво може да означава сингулярността за нас.

Еволюция на съхранението на данни – инфографика

Еволюция на съхранението на данни – инфографика

Методите за съхранение на данните може да се развиват от раждането на данните. Този блог обхваща развитието на съхранението на данни на базата на инфографика.

Функционалности на референтните архитектурни слоеве за големи данни

Функционалности на референтните архитектурни слоеве за големи данни

Прочетете блога, за да разберете различни слоеве в архитектурата на големи данни и техните функционалности по най-простия начин.

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

6 невероятни предимства от наличието на интелигентни домашни устройства в живота ни

В този дигитално задвижван свят устройствата за интелигентен дом се превърнаха в решаваща част от живота. Ето няколко невероятни предимства на интелигентните домашни устройства за това как те правят живота ни струващ и по-опростен.

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Актуализацията на допълнението на macOS Catalina 10.15.4 причинява повече проблеми, отколкото решава

Наскоро Apple пусна macOS Catalina 10.15.4 допълнителна актуализация за отстраняване на проблеми, но изглежда, че актуализацията причинява повече проблеми, водещи до блокиране на mac машини. Прочетете тази статия, за да научите повече