Як встановити ProcessWire CMS 3.0 на Fedora 26 LAMP VPS

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

У цьому підручнику ми збираємося встановити ProcessWire CMS 3.0 на Fedora 26 LAMP VPS за допомогою веб-сервера Apache, PHP 7.1 і бази даних MariaDB.

Передумови

  • Чистий екземпляр сервера Vultr Fedora 26 з доступом по SSH

Крок 1: Додайте користувача Sudo

Ми почнемо з додавання нового sudoкористувача.

Спочатку увійдіть на свій сервер як root:

ssh root@YOUR_VULTR_IP_ADDRESS

Додайте нового користувача user1(або бажане ім’я користувача):

useradd user1

Далі встановіть пароль для user1користувача:

passwd user1

Коли з’явиться запит, введіть надійний і запам’ятовується пароль.

Тепер перевірте /etc/sudoersфайл, щоб переконатися, що sudoersгрупа ввімкнена:

visudo

Шукайте такий розділ:

%wheel        ALL=(ALL)       ALL

І переконайтеся, що він не прокоментований. Цей рядок повідомляє нам, що користувачі, які є членами wheelгрупи, можуть використовувати sudoкоманду для отримання rootпривілеїв.

Після того, як ви відредагували файл, ви можете зберегти та вийти, натиснувши Escта ввівши, :wqщоб «записати» та «закрити» файл.

Далі нам потрібно додати user1до wheelгрупи:

usermod -aG wheel user1

Ми можемо перевірити user1членство в групі та перевірити, чи usermodкоманда працювала з groupsкомандою:

groups user1

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

su - user1

Командний рядок оновиться, щоб вказати, що ви тепер увійшли в user1обліковий запис. Ви можете перевірити це за допомогою whoamiкоманди:

whoami

Тепер перезапустіть sshdслужбу, щоб ви могли ввійти за sshдопомогою нового облікового запису sudo, який ви щойно створили:

sudo systemctl restart sshd

Вийти з user1облікового запису:

exit

Вийти з rootоблікового запису (що призведе до відключення sshсеансу)

exit

Тепер ви можете зайти sshна екземпляр сервера з вашого локального хоста за допомогою нового user1облікового запису користувача sudo без root прав :

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: Оновіть систему Fedora 26

Перш ніж інсталювати будь-які пакунки на сервері Fedora, ми спершу оновимо систему.

Переконайтеся, що ви ввійшли на сервер за допомогою користувача sudo без прав root і виконайте таку команду:

sudo dnf -y update

Крок 3: Встановіть веб-сервер Apache

Встановіть веб-сервер Apache:

sudo dnf -y install httpd

Використовуйте systemctlкоманду, щоб запустити й увімкнути автоматичне виконання Apache під час завантаження:

sudo systemctl enable httpd
sudo systemctl start httpd

Перевірте свій файл конфігурації Apache, щоб переконатися, що DocumentRootдиректива вказує на правильний каталог:

sudo vi /etc/httpd/conf/httpd.conf

Параметр DocumentRootконфігурації буде виглядати так:

DocumentRoot "/var/www/html"

Тепер давайте переконаємося, що mod_rewriteмодуль Apache завантажено. Ми можемо зробити це, шукаючи термін « mod_rewrite« у файлі конфігурації базових модулів Apache .

Відкрийте файл:

sudo vi /etc/httpd/conf.modules.d/00-base.conf

Знайдіть термін mod_rewrite.

Якщо mod_rewriteмодуль Apache завантажено, ви побачите рядок конфігурації, який виглядає так:

LoadModule rewrite_module modules/mod_rewrite.so

Якщо вищенаведений рядок починається з крапки з комою, вам потрібно буде видалити крапку з комою, щоб розкоментувати рядок і завантажити модуль. Це, звичайно, стосується і будь-яких інших необхідних модулів Apache.

Тепер нам потрібно відредагувати файл конфігурації Apache за замовчуванням, щоб mod_rewriteвін коректно працював із ProcessWire CMS.

Відкрийте файл:

sudo vi /etc/httpd/conf/httpd.conf

Потім знайдіть розділ, який починається з, <Directory "/var/www/html">і змініть його AllowOverride noneна AllowOverride All. Кінцевий результат (з видаленими всіма коментарями) буде виглядати приблизно так:

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

Тепер збережіть і закрийте файл конфігурації Apache.

Ми перезапустимо Apache в кінці цього підручника, але регулярне перезапуск Apache під час встановлення та налаштування, безумовно, є хорошою звичкою, тому давайте зробимо це зараз:

sudo systemctl restart httpd

Крок 4. Відкрийте порти веб-брандмауера

Тепер нам потрібно відкрити за замовчуванням HTTPі HTTPSпорти , як вони будуть заблоковані firewalldза умовчанням.

Відкрийте порти брандмауера:

sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp

Перезавантажте брандмауер, щоб застосувати зміни:

sudo firewall-cmd --reload

Ви побачите слово, що successвідображатиметься у вашому терміналі після кожної успішної команди налаштування брандмауера.

We can quickly verify that the Apache HTTP port is open by visiting the IP address or domain of the server instance in a browser:

http://YOUR_VULTR_IP_ADDRESS/

You will see the default Apache web page in your browser.

Step 5: Disable SELinux

SELinux stands for "Security Enhanced Linux". It is a security enhancement to Linux which allows users and administrators more control over access control. It is enabled by default in Fedora 26, but it is definitely not essential for server security as many Linux server distributions do not ship with it installed or enabled by default.

To avoid file permission problems with ProcessWire CMS later down the line, we are going to disable SELinux, for now. So open the SELinux configuration file with your favourite terminal editor:

sudo vi /etc/selinux/config

And change SELINUX=enforcing to SELINUX=disabled, then save the file.

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.

Крок 9. Установіть файли ProcessWire CMS

Змініть поточний робочий каталог на веб-каталог за замовчуванням:

cd /var/www/html/

Якщо ви отримуєте повідомлення про помилку, яке говорить щось на зразок, 'No such file or directory'спробуйте виконати таку команду:

cd /var/www/ ; sudo mkdir html ; cd html

Ваш поточний робочий каталог тепер буде: /var/www/html/. Ви можете перевірити це за допомогою команди pwd(друк робочого каталогу):

pwd

Тепер використовуйте wgetдля завантаження інсталяційного пакета ProcessWire CMS:

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

Зверніть увагу: вам обов’язково слід перевірити останню версію, відвідавши сторінку завантаження ProcessWire CMS .

Укажіть поточний каталог, щоб перевірити, чи ви успішно завантажили файл:

ls -la

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

sudo dnf -y install unzip

Тепер розпакуйте zip-архів:

sudo unzip master.zip

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

sudo mv processwire-master/* /var/www/html

Змініть власника веб-файлів, щоб уникнути проблем із дозволами:

sudo chown -R apache:apache * ./

Перезапустіть Apache знову:

sudo systemctl restart httpd

Крок 10: Завершіть встановлення ProcessWire CMS

Тепер настав час відвідати IP-адресу вашого екземпляра сервера у вашому браузері, або якщо ви вже налаштували параметри DNS Vultr (і надали йому достатньо часу для поширення), ви можете просто відвідати свій домен.

Щоб отримати доступ до сторінки встановлення 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кнопку, щоб увійти в розділ адміністратора.

Ви можете побачити застереження, яке говорить приблизно так:

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 systemctl restart httpd

Ви готові почати додавати свій вміст і налаштовувати зовнішній вигляд свого сайту. Обов’язково перегляньте чудову документацію ProcessWire CMS для отримання додаткової інформації про те, як створити та налаштувати свій сайт.


Як встановити Thelia 2.3 на Debian 9

Як встановити Thelia 2.3 на Debian 9

Використання іншої системи? Thelia — інструмент із відкритим кодом для створення веб-сайтів електронного бізнесу та керування онлайн-контентом, написаним на PHP. Вихідний код Thelia i

Як встановити Microweber на CentOS 7

Як встановити Microweber на CentOS 7

Використання іншої системи? Microweber — це CMS та інтернет-магазин із відкритим вихідним кодом. Вихідний код Microweber розміщено на GitHub. Цей посібник покаже вам

Встановлення Microweber на Ubuntu 16.04

Встановлення Microweber на Ubuntu 16.04

Використання іншої системи? Microweber — це CMS та інтернет-магазин із відкритим вихідним кодом. Вихідний код Microweber розміщено на GitHub. Цей посібник покаже вам

Як встановити dotCMS на Ubuntu 16.04

Як встановити dotCMS на Ubuntu 16.04

Використання іншої системи? DotCMS — це система керування вмістом корпоративного рівня з відкритим вихідним кодом, написана на Java. Він містить майже всі необхідні функції

Як встановити CMS Pagekit 1.0 на FreeBSD 11 FAMP VPS

Як встановити CMS Pagekit 1.0 на FreeBSD 11 FAMP VPS

Використання іншої системи? Pagekit 1.0 CMS – це красива, модульна, розширювана та легка, безкоштовна система керування вмістом (CMS) з відкритим вихідним кодом.

Як встановити BigTree CMS на Fedora 26 LAMP VPS

Як встановити BigTree CMS на Fedora 26 LAMP VPS

Використання іншої системи? BigTree CMS 4.2 — це швидка та легка, безкоштовна система управління вмістом (CMS) корпоративного рівня з відкритим вихідним кодом з широким

Встановлення CMS Pagekit на Ubuntu 16.04 LTS

Встановлення CMS Pagekit на Ubuntu 16.04 LTS

Використання іншої системи? Pagekit — це CMS з відкритим кодом, написана на PHP. Вихідний код Pagekit розміщено на GitHub. Цей посібник покаже вам, як встановити

Як встановити PyroCMS на Ubuntu 16.04

Як встановити PyroCMS на Ubuntu 16.04

Використання іншої системи? PyroCMS — це CMS з відкритим кодом, написана на PHP. Вихідний код PyroCMS розміщено на GitHub. У цьому посібнику добре пройдіться по всьому

Як встановити Subrion 4.1 CMS на FreeBSD 11 FAMP VPS

Як встановити Subrion 4.1 CMS на FreeBSD 11 FAMP VPS

Використання іншої системи? Subrion 4.1 CMS — це потужна та гнучка система керування вмістом із відкритим кодом (CMS), яка забезпечує інтуїтивно зрозумілий та зрозумілий вміст

Як встановити Backdrop CMS 1.8.0 на Debian 9 LAMP VPS

Як встановити Backdrop CMS 1.8.0 на Debian 9 LAMP VPS

Використання іншої системи? Backdrop CMS 1.8.0 — це проста та гнучка, зручна для мобільних пристроїв, безкоштовна і відкрита система керування вмістом (CMS), яка дозволяє нам

Як встановити Roadiz CMS на Debian 9

Як встановити Roadiz CMS на Debian 9

Використання іншої системи? Вступ Roadiz — це сучасна CMS, розроблена для роботи з багатьма типами послуг. На основі компонентів Symfony і Doctrine ORM, тобто

Встановлення Microweber на Debian 9

Встановлення Microweber на Debian 9

Використання іншої системи? Microweber — це CMS та інтернет-магазин із відкритим вихідним кодом. Вихідний код Microweber розміщено на GitHub. Цей посібник покаже вам

Як встановити Grav CMS на Fedora 28

Як встановити Grav CMS на Fedora 28

Використання іншої системи? Grav — це CMS з відкритим вихідним кодом, написана на PHP. Вихідний код Grav відкрито розміщено на GitHub. Цей посібник покаже вам, як т

Як встановити Grav CMS на Debian 9

Як встановити Grav CMS на Debian 9

Використання іншої системи? Grav — це CMS з відкритим вихідним кодом, написана на PHP. Вихідний код Grav відкрито розміщено на GitHub. Цей посібник покаже вам, як т

Як встановити Automad CMS на CentOS 7

Як встановити Automad CMS на CentOS 7

Використання іншої системи? Automad — це файлова система управління вмістом (CMS) з відкритим вихідним кодом і механізм шаблонів, написаний на PHP. Вихідний код Automad i

Як встановити Raneto на Ubuntu 17.10

Як встановити Raneto на Ubuntu 17.10

Raneto — це безкоштовна база знань з відкритим вихідним кодом, побудована на Node.js, яку легко налаштувати та використовувати, а також легко адмініструвати. Категорії та сторінки ар

Як встановити Thelia 2.3 на Ubuntu 16.04

Як встановити Thelia 2.3 на Ubuntu 16.04

Використання іншої системи? Thelia — інструмент із відкритим кодом для створення веб-сайтів електронного бізнесу та керування онлайн-контентом, написаним на PHP. Вихідний код Thelia i

Як встановити жовтень 1.0 CMS на Debian 9 LAMP VPS

Як встановити жовтень 1.0 CMS на Debian 9 LAMP VPS

Використання іншої системи? Жовтень 1.0 CMS — це проста і надійна, безкоштовна система керування вмістом (CMS) з відкритим кодом, побудована на базі Laravel.

Як встановити ImpressPages CMS 5.0 на Ubuntu 16.04 LAMP VPS

Як встановити ImpressPages CMS 5.0 на Ubuntu 16.04 LAMP VPS

Використання іншої системи? ImpressPages CMS 5.0 — це проста й ефективна, безкоштовна та з відкритим вихідним кодом, зручна для користувачів, заснована на MVC, система керування вмістом (CMS)

Як встановити CMS Made Simple 2.2 на Debian 9 LAMP VPS

Як встановити CMS Made Simple 2.2 на Debian 9 LAMP VPS

Використання іншої системи? CMS Made Simple 2.2 – це гнучка та розширювана, безкоштовна система керування вмістом (CMS) з відкритим вихідним кодом, інтелектуально розроблена для

Повстання машин: застосування ШІ в реальному світі

Повстання машин: застосування ШІ в реальному світі

Штучний інтелект не в майбутньому, він тут прямо в сьогоденні У цьому блозі Прочитайте, як програми штучного інтелекту вплинули на різні сектори.

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. Прочитайте цю статтю, щоб дізнатися більше