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

Anchor CMS — це надпроста і надзвичайно легка, безкоштовна система керування вмістом (CMS) з відкритим кодом, яка підтримує редагування вмісту в Markdown або HTML і повністю сумісна з i18n із коробки. Створювати та змінювати теми так само легко, як писати дуже прості PHP та HTML/CSS, тому немає нових мов шаблонів для вивчення. Anchor CMS важить лише 250 КБ (стиснутий), тому це ідеальне рішення для веб-розробників і блогерів, які втомилися від вірусних програм і просто хочуть простий і мінімалістичний механізм для ведення блогів, який виконує роботу без будь-яких додаткових ускладнень.

У цьому підручнику ми збираємося встановити Anchor CMS на 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:

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вона коректно працювала з Anchor 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, які потрібні для Anchor 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 php71-phar

FreeBSD 11 дає нам можливість використовувати розробку php.iniабо виробництво php.ini. Оскільки ми збираємося встановити Anchor на загальнодоступному веб-сервері, ми будемо використовувати робочу версію. Спочатку створіть резервну копію 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 the latest version of 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 Anchor 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 Anchor CMS:

CREATE DATABASE anchor_db CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'anchor_user'@'localhost' IDENTIFIED BY 'UltraSecurePassword';
GRANT ALL PRIVILEGES ON anchor_db.* TO 'anchor_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

You can replace the database name anchor_db and username anchor_user with something more to your liking, if you prefer. Also, make sure that you replace "UltraSecurePassword" with an actually secure password.

Step 7: Install Anchor CMS Files

Change your current working directory to the default web directory:

cd /usr/local/www/apache24/data

Your current working directory will now be: /usr/local/www/apache24/data. You can check this with the pwd (print working directory) command:

pwd

Now use wget to download the Anchor CMS installation package:

sudo wget https://github.com/anchorcms/anchor-cms/archive/0.12.3a.zip

Please note: You should definitely check for the most recent version by visiting the Anchor CMS download page.

List the current directory to check that you have successfully downloaded the file:

ls -la

Remove index.html:

sudo rm index.html

Now uncompress the zip archive:

sudo unzip 0.12.3a.zip

Move all of the installation files to the web root directory:

sudo mv anchor-cms-0.12.3a/* /usr/local/www/apache24/data

Change ownership of the web files to avoid any permissions problems:

sudo chown -R www:www * ./

Restart Apache again:

sudo service apache24 restart

Step 8: Install and Run Composer

Anchor CMS requires us to use composer to download some plugins so we first need to install composer. Unfortunately, the version of the pre-built binary version of composer in the FreeBSD package repositories is not compatible with PHP 7.1. So instead of installing composer with the pkg command, we will instead compile it from source.

First, let's configure the FreeBSD 11 system to compile PHP software using PHP version 7.1 instead of the default 5.6.

Create a new file in the /etc/ directory called make.conf:

sudo vi /etc/make.conf

Enter the following text into the file:

DEFAULT_VERSIONS+= php=7.1

Now save and close the file.

Next we need to download the FreeBSD ports collection using the portsnap command:

sudo portsnap fetch extract update

Once the portsnap command completes, change into the php-composer source code directory:

cd /usr/ports/devel/php-composer/

Now start the php-composer compilation and installation using the make command:

sudo make install clean

If you are not used to compiling software the screen may look a bit daunting to you. You will see lots of text scrolling by and will occassionally be asked to select some compilation settings. Simply accept the default values and select OK to continue compiling.

Note: Compiling software can take a considerable amount of time, but be sure to keep an eye on the screen as you may need to confirm details during the compilation.

When the compilation is completed, change into the webroot directory:

cd /usr/local/www/apache24/data

Run composer using the www user:

sudo -u www composer install -d /usr/local/www/apache24/data

You should see some warning messages from composer about not being able to write to the cache, but don't worry too much about that as everything should still install just fine.

We're now ready to move on to the final step.

Step 9: Complete Anchor CMS Installation

It's time to visit the IP address of your server instance in your browser, or if you've already configured your Vultr DNS settings (and given it enough time to propagate) you can simply visit your domain instead.

To access the Anchor CMS installation page, enter your Vultr instance IP address into your browser address bar, followed by /install/:

http://YOUR_VULTR_IP_ADDRESS/install/

Most of the installation options are self explanatory, but here are a few pointers to help you along:

  1. On the Anchor CMS landing page, simply click on the Run the installer button to start the installation process.

  2. Select your Language and Timezone and click on the Next Step button.

  3. On the Database Details page, enter the following database values:

    Database Host:          localhost
    Port:                   3306
    Username:               anchor_user
    Password:               UltraSecurePassword
    Database Name:          anchor_db
    Table Prefix:           anchor_
    Collation:              utf8_unicode_ci
    

    Click Next Step to continue.

  4. On the Site metadata page, enter the following details:

    Site Name:              <your site name>
    Site Description:       <a site description>
    Site Path:              /
    

    Click Next Step to continue.

  5. Next enter appropriate admin login details:

    Username:               admin   
    Email Address:          <admin email address>
    Password:               <admin password>
    
  6. Click on the Complete button to finalize the installation.

You will see a bright green page with the message Install complete!.

To access the admin section simply click on the Visit your admin panel button and enter your username and password. If you aren't redirected to the admin login page, you can enter the admin address manually:

http://YOUR_VULTR_IP_ADDRESS/admin/panel

For security reasons, make sure you delete the /install/ directory from the webroot directory:

sudo rm -rf ./install/

You are now ready to start adding your content and configuring the look and feel of your site. Make sure you check out the Anchor CMS documentation for more information about how to build and configure your site.

Залишити коментар

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

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

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

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