Установка CraftCMS · 8 min read · Sep 26, 2025

Как установить CraftCMS с Apache и Let's Encrypt SSL на Ubuntu 22.04 LTS

Craft — это открытая, гибкая и богатая функционалом система управления контентом для разработчиков и авторов контента. Она предлагает все необходимые функции настройки для создания мощного веб-сайта. Она позволяет управлять контентом различных сайтов из одной панели управления. Это альтернативное решение для WordPress и Drupal для создания индивидуальных цифровых решений. У нее есть сотни бесплатных и платных плагинов, позволяющих добавлять функциональность.

В этом посте будет объяснено, как установить Craft CMS с Apache и Let’s Encrypt SSL на Ubuntu 22.04.

Предварительные требования

  • Сервер с установленным Ubuntu 22.04.
  • Действительное доменное имя, указывающее на IP-адрес вашего сервера.
  • Настроенный root-пароль на сервере.

Установка LAMP-сервера

Craft CMS работает на веб-сервере, написан на PHP и использует MariaDB в качестве базы данных. Поэтому вам нужно установить все эти пакеты на ваш сервер.

Вы можете выполнить следующую команду для установки всех этих пакетов:

apt-get install apache2 mariadb-server php php-cli libapache2-mod-php php-common php-json php-curl php-gd php-imagick php-json php-mbstring php-mysql php-pgsql php-zip php-intl php-xml -y

После установки всех пакетов отредактируйте файл конфигурации PHP и измените настройки по умолчанию:

nano /etc/php/8.1/php.ini

Измените следующие настройки:

memory_limit = 512M
post_max_size = 32M
upload_max_filesize = 32M
max_execution_time = 360

Сохраните и закройте файл, затем перезапустите службу Apache, чтобы применить изменения:

systemctl restart apache2

Создание базы данных для CraftCMS

Далее вам нужно будет создать базу данных и пользователя для Craft CMS. Сначала войдите в оболочку MariaDB с помощью следующей команды:

mysql

После входа создайте базу данных и пользователя с помощью следующей команды:

MariaDB [(none)]> CREATE DATABASE craftcms;  
MariaDB [(none)]> GRANT ALL ON craftcms.* TO 'craftuser' IDENTIFIED BY 'password';

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

MariaDB [(none)]> FLUSH PRIVILEGES;  
MariaDB [(none)]> EXIT;

На этом этапе база данных MariaDB создана для Craft CMS. Теперь вы можете перейти к следующему шагу.

Установка Craft CMS с помощью Composer

Далее вам нужно будет установить Composer, чтобы загрузить последнюю версию Craft CMS. Вы можете установить его с помощью следующей команды:

curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

После установки Composer перейдите в корневой каталог веб-сервера Apache и создайте проект Craft CMS с помощью следующей команды:

cd /var/www/html  
composer create-project craftcms/craft craftcms

Вам будет предложено ввести настройки базы данных, имя пользователя администратора, пароль, URL сайта, как показано ниже:

Какой драйвер базы данных вы используете? (mysql или pgsql) [mysql]  
Имя или IP-адрес сервера базы данных: [127.0.0.1]  
Порт базы данных: [3306]  
Имя пользователя базы данных: [root] craftuser
Пароль базы данных:  
Имя базы данных: craft
Префикс таблицы базы данных:  
Проверка учетных данных базы данных ... успешно!
Сохранение учетных данных базы данных в вашем .env файле ... готово

Установить Craft сейчас? (yes|no) [yes]:yes

Имя пользователя: [admin] admin
Электронная почта: [email protected]
Пароль:  
Подтвердите:  
Имя сайта: CraftCMS Site
URL сайта: http://craftcms.example.com
Язык сайта: [en-US] 

    > добавление внешнего ключа fk_rlbmgnhpxsljkaunjwnsezfrnrkhwzpthfsq: {{%widgets}} (userId) ссылается на {{%users}} (id) ... готово (время: 0.035s)
    > заполнение таблицы информации ... готово
    > сохранение данных сайта по умолчанию ... готово
    > сохранение первого пользователя ... готово
*** Craft успешно установлен (время: 5.449s)

Далее установите правильные разрешения и владельца для каталога Craft CMS:

chown -R www-data:www-data /var/www/html/craftcms/  
chmod -R 755 /var/www/html/craftcms/

Когда вы закончите, вы можете перейти к следующему шагу.

Настройка Apache для Craft CMS

Далее вам нужно будет создать файл конфигурации виртуального хоста Apache для Craft CMS. Вы можете создать его с помощью следующей команды:

nano /etc/apache2/sites-available/craftcms.conf

Добавьте следующие строки:


     ServerAdmin [email protected]
     DocumentRoot /var/www/html/craftcms/web
     ServerName craftcms.example.com


     
          Options FollowSymlinks
          AllowOverride All
          Require all granted
     

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined
    
     
            RewriteEngine on
            RewriteBase /
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*) index.php [PT,L]
    

Сохраните и закройте файл, затем активируйте виртуальный хост Apache и модуль переписывания с помощью следующей команды:

a2ensite craftcms.conf  
a2enmod rewrite

Далее перезапустите службу Apache, чтобы применить изменения:

systemctl restart apache2

Вы также можете проверить статус Apache с помощью следующей команды:

systemctl status apache2

Вы получите следующий вывод:

? apache2.service - Веб-сервер Apache HTTP
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-06-17 15:48:11 UTC; 31min ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 37935 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
    Process: 40916 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS)
   Main PID: 37939 (apache2)
      Tasks: 6 (limit: 2292)
     Memory: 53.0M
        CPU: 28.718s
     CGroup: /system.slice/apache2.service
             ??37939 /usr/sbin/apache2 -k start
             ??40920 /usr/sbin/apache2 -k start
             ??40921 /usr/sbin/apache2 -k start
             ??40922 /usr/sbin/apache2 -k start
             ??40923 /usr/sbin/apache2 -k start
             ??40924 /usr/sbin/apache2 -k start

Jun 17 15:48:11 ubuntu2204 systemd[1]: Starting The Apache HTTP Server...

После того как ваш веб-сервер Apache настроен, вы можете перейти к следующему шагу.

Доступ к веб-интерфейсу Craft CMS

Теперь откройте веб-браузер и введите URL http://craftcms.example.com, чтобы получить доступ к веб-интерфейсу Craft CMS. Вы должны увидеть следующую страницу:

Нажмите на перейти в вашу панель управления. Вы будете перенаправлены на страницу входа в Craft CMS:

Введите ваше имя пользователя администратора, пароль и нажмите кнопку войти. Вы должны увидеть панель управления Craft CMS на следующей странице:

Защита Craft CMS с помощью Let’s Encrypt SSL

Далее, хорошей идеей будет защитить ваш веб-сайт с помощью Let’s Encrypt SSL. Сначала установите пакет клиента Certbot с помощью следующей команды:

apt-get install python3-certbot-apache -y

После успешной установки выполните следующую команду, чтобы защитить ваш веб-сайт с помощью Let’s Encrypt SSL:

certbot --apache -d craftcms.example.com

Вам будет предложено ввести вашу электронную почту и принять условия обслуживания, как показано ниже:

Сохранение отладочного журнала в /var/log/letsencrypt/letsencrypt.log
Выбранные плагины: Аутентификатор standalone, Установщик None
Введите адрес электронной почты (используется для срочного продления и уведомлений о безопасности) (Введите 'c' для отмены): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Пожалуйста, прочитайте Условия обслуживания по адресу
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. Вы должны
согласиться, чтобы зарегистрироваться на сервере ACME по адресу
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Вы бы хотели поделиться своим адресом электронной почты с Фондом Электронных Свобод,
основным партнером проекта Let's Encrypt и некоммерческой организацией,
развивающей Certbot? Мы хотели бы отправить вам электронное письмо о нашей работе
по шифрованию веба, новостях EFF, кампаниях и способах поддержки цифровой свободы.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Выбранные плагины: Аутентификатор apache, Установщик apache
Получение нового сертификата
Выполнение следующих задач:
http-01 задача для craftcms.example.com
Включен модуль переписывания Apache
Ожидание проверки...
Очистка задач
Создан виртуальный хост SSL в /etc/apache2/sites-available/craftcms-le-ssl.conf
Включен модуль socache_shmcb Apache
Включен модуль ssl Apache
Развертывание сертификата на виртуальном хосте /etc/apache2/sites-available/craftcms-le-ssl.conf
Включение доступного сайта: /etc/apache2/sites-available/craftcms-le-ssl.conf

Далее выберите, хотите ли вы перенаправить HTTP-трафик на HTTPS, как показано ниже:

Пожалуйста, выберите, хотите ли вы перенаправить HTTP-трафик на HTTPS, удалив доступ по HTTP.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: Нет перенаправления - Не вносить дальнейшие изменения в конфигурацию веб-сервера.
2: Перенаправить - Все запросы перенаправляются на безопасный доступ HTTPS. Выберите это для
новых сайтов или если вы уверены, что ваш сайт работает на HTTPS. Вы можете отменить это
изменение, отредактировав конфигурацию вашего веб-сервера.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Выберите соответствующий номер [1-2], затем [enter] (нажмите 'c' для отмены): 2

Введите 2 и нажмите Enter, чтобы установить Let’s Encrypt SSL для вашего веб-сайта:

Включен модуль переписывания Apache
Перенаправление виртуального хоста в /etc/apache2/sites-enabled/craftcms.conf на ssl виртуальный хост в /etc/apache2/sites-available/craftcms-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Поздравляем! Вы успешно включили https://craftcms.example.com

Вы должны протестировать вашу конфигурацию на:
https://www.ssllabs.com/ssltest/analyze.html?d=craftcms.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

ВАЖНЫЕ ЗАМЕТКИ:
 - Поздравляем! Ваш сертификат и цепочка были сохранены по адресу:
   /etc/letsencrypt/live/craftcms.example.com/fullchain.pem
   Ваш файл ключа был сохранен по адресу:
   /etc/letsencrypt/live/craftcms.example.com/privkey.pem
   Ваш сертификат истечет 2022-09-17. Чтобы получить новую или измененную
   версию этого сертификата в будущем, просто снова запустите certbot
   с опцией "certonly". Чтобы не взаимодействовать и продлить *все*
   ваши сертификаты, выполните "certbot renew"
 - Если вам нравится Certbot, пожалуйста, подумайте о поддержке нашей работы:

   Пожертвование ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Пожертвование EFF:                    https://eff.org/donate-le

Заключение

Поздравляем! Вы успешно установили Craft CMS с Apache и Let’s Encrypt SSL на Ubuntu 22.04. Теперь вы можете исследовать функции CraftCMS и начать создавать мощный веб-сайт с помощью Craft CMS. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.