Як встановити 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допомогою нового облікового запису sudo, який ви щойно створили:

sudo /etc/rc.d/sshd restart

Вийти з 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: Оновіть систему 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-адресу вашого екземпляра сервера у вашому браузері, або якщо ви вже налаштували параметри 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 service apache24 restart

Ви готові почати додавати свій вміст і налаштовувати зовнішній вигляд свого сайту. Обов’язково перегляньте чудову документацію ProcessWire 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. Прочитайте цю статтю, щоб дізнатися більше