Как установить ProcessWire CMS 3.0 на VBS FreeBSD 11 FAMP

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

В этом руководстве мы собираемся установить ProcessWire CMS 3.0 на FPS VPS FreeBSD 11 с использованием веб-сервера Apache, PHP 7.1 и базы данных MariaDB.

Предпосылки

  • Чистый экземпляр сервера Vultr FreeBSD 11 с доступом по SSH

Шаг 1: Добавить пользователя Sudo

Мы начнем с добавления нового sudoпользователя.

Сначала войдите на свой сервер как root:

ssh root@YOUR_VULTR_IP_ADDRESS

Команда sudoне устанавливается по умолчанию в экземпляре сервера Vultr FreeBSD 11, поэтому мы сначала установим 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 без полномочий root:

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/

Вы увидите страницу Apache FreeBSD по умолчанию с текстом:

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

Нам нужно настроить Apache для фактического использования PHP, поэтому давайте создадим новый файл с именем php.confв Includesкаталоге Apache :

sudo vi /usr/local/etc/apache24/Includes/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>

Сохраните и выйдите из файла.

Теперь давайте перезапустим Apache, чтобы он мог перезагрузить изменения конфигурации:

sudo service apache24 restart

Шаг 5: Установите сервер MariaDB (MySQL)

FreeBSD 11 по умолчанию использует сервер базы данных MariaDB, который представляет собой расширенную, полностью открытую, разработанную сообществом замену сервера MySQL.

Установите сервер базы данных MariaDB:

sudo pkg install mariadb102-server mariadb102-client

Запустите и включите сервер MariaDB для автоматического запуска во время загрузки:

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

Защитите установку сервера MariaDB:

sudo mysql_secure_installation

Когда будет предложено создать пользователя MariaDB / MySQL root, выберите «Y» (для «да») и введите безопасный rootпароль. Просто ответьте «Y» на все остальные вопросы «да / нет», так как предложения по умолчанию являются наиболее безопасными.

Шаг 6. Создание базы данных для ProcessWire CMS

Войдите в оболочку MariaDB как rootпользователь MariaDB , выполнив следующую команду:

sudo mysql -u root -p

Чтобы получить доступ к командной строке MariaDB, просто введите rootпароль MariaDB при появлении запроса.

Выполните следующие запросы, чтобы создать базу данных MariaDB и пользователя базы данных для 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;

Вы можете заменить имя базы данных pw_dbи имя пользователя pw_userна что-то более по своему вкусу, если хотите. Также убедитесь, что вы заменили «UltraSecurePassword» на действительно надежный пароль.

Шаг 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кнопку, чтобы войти в раздел администратора.

Вы можете увидеть предупреждение, говорящее что-то вроде:

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 для получения дополнительной информации о том, как создать и настроить свой сайт.



Leave a Comment

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

6 невероятных фактов о Nintendo Switch

6 невероятных фактов о Nintendo Switch

Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.

Технические обещания, которые все еще не выполнены

Технические обещания, которые все еще не выполнены

Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.

Функциональные возможности уровней эталонной архитектуры больших данных

Функциональные возможности уровней эталонной архитектуры больших данных

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

Как ИИ может вывести автоматизацию процессов на новый уровень?

Как ИИ может вывести автоматизацию процессов на новый уровень?

Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?

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

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

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

Телемедицина и удаленное здравоохранение: будущее уже здесь

Телемедицина и удаленное здравоохранение: будущее уже здесь

Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше