Установка 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. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.
Get new posts in your inbox
No spam. Unsubscribe anytime.