Как установить Concrete5 CMS с Apache и бесплатным Lets Encrypt SSL на Ubuntu 20.04
На этой странице
- Требования
- Начало работы
- Установите Apache, MariaDB и PHP
- Создание базы данных Concrete5
- Скачать Concrete5 CMS
- Настройка Apache для Concrete5 CMS
- Доступ к веб-интерфейсу Concrete5 CMS
- Защитите Concrete5 с помощью Lets Encrypt SSL
- Заключение
Concrete5 — это система управления контентом с открытым исходным кодом, используемая для публикации контента в Интернете. Он написан на PHP и использует MariaDB в качестве базы данных. Он предоставляет простой в использовании конструктор, который поможет вам создавать страницы и контент через веб-браузер. Он гибок, безопасен, готов к работе с мобильными устройствами и основан на архитектуре Model-View-Controller. Он предлагает богатый набор функций, включая редактор контента WYSIWYG, медиа-менеджер, перетаскивание контента, редактирование в контексте и многое другое.
В этом посте мы покажем вам, как установить Concrete5 CMS с Apache и Lets Encrypt SSL на сервере Ubuntu 20.04.
Требования
- Сервер под управлением Ubuntu 20.04.
- Действительное доменное имя указывает на IP-адрес сервера.
- На вашем сервере настроен пароль root.
Начиная
Во-первых, вам нужно будет обновить индекс пакетов APT до последней версии. Вы можете обновить его с помощью следующей команды:
apt-get update -y
Как только индекс APT будет обновлен, вы можете перейти к следующему шагу.
Установите Apache, MariaDB и PHP
Затем вам нужно будет установить веб-сервер Apache, сервер базы данных MariaDB, PHP и другие расширения PHP на ваш сервер. Вы можете установить их все, используя следующую команду:
apt-get install apache2 mariadb-server php libapache2-mod-php libapache2-mod-php php-common php-mbstring php-xmlrpc php-soap php-gd php-xml php-intl php-mysql php-cli php-ldap php-zip php-curl -y
После установки всех пакетов отредактируйте файл php.ini и установите нужные значения:
nano /etc/php/7.4/apache2/php.ini
Измените следующие строки:
file_uploads = On allow_url_fopen = On memory_limit = 256M upload_max_filesize = 64M date.timezone = Asia/Kolkata
Сохраните и закройте файл, когда закончите, затем перезапустите службу Apache, чтобы применить изменения:
systemctl restart apache2
Как только вы закончите, вы можете перейти к следующему шагу.
Создайте базу данных Concrete5
Далее вам нужно будет создать базу данных и пользователя для Concrete5. Сначала войдите в MariaDB с помощью следующей команды:
mysql
После входа в систему создайте базу данных и пользователя с помощью следующей команды:
MariaDB [(none)]> CREATE DATABASE concrete5;
MariaDB [(none)]> CREATE USER 'concrete5user'@'localhost' IDENTIFIED BY 'password';
Затем предоставьте все привилегии базе данных Concrete5 с помощью следующей команды:
MariaDB [(none)]> GRANT ALL ON concrete5.* TO 'concrete5user'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
Затем сбросьте привилегии и выйдите из консоли MariaDB с помощью следующей команды:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Как только вы закончите, вы можете перейти к следующему шагу.
Скачать Concrete5 CMS
Сначала перейдите на веб-сайт Concrete5 CMS, скопируйте URL-адрес последней версии Concrete5 и загрузите ее с помощью следующей команды:
wget --trust-server-names https://www.concrete5.org/download_file/-/view/115589/ -O concrete5.zip
После завершения загрузки извлеките загруженный файл с помощью следующей команды:
unzip concrete5.zip
Затем переместите извлеченный каталог в корневой веб-каталог Apache с помощью следующей команды:
mv concrete5-* /var/www/html/concrete5
Затем установите правильное разрешение и право собственности на каталог convert5 с помощью следующей команды:
chown -R www-data:www-data /var/www/html/concrete5/
chmod -R 755 /var/www/html/concrete5/
Как только вы закончите, вы можете перейти к следующему шагу.
Настройте Apache для CMS Concrete5
Далее вам нужно будет создать файл конфигурации виртуального хоста Apache для Concrete5 CMS. Вы можете создать его с помощью следующей команды:
nano /etc/apache2/sites-available/concrete5.conf
Добавьте следующие строки:
<VirtualHost *:80> ServerAdmin DocumentRoot /var/www/html/concrete5/ ServerName concrete5.example.com <Directory /var/www/html/concrete5/> Options +FollowSymlinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Сохраните и закройте файл, затем включите виртуальный хост Apache и перепишите модуль с помощью следующей команды:
a2ensite concrete5.conf
a2enmod rewrite
Затем перезапустите службу Apache, чтобы применить изменения:
systemctl restart apache2
Вы также можете проверить статус службы Apache с помощью следующей команды:
systemctl status apache2
Вы должны получить следующий результат:
? apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2021-05-15 15:00:03 UTC; 4s ago Docs: https://httpd.apache.org/docs/2.4/ Process: 15566 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Main PID: 15585 (apache2) Tasks: 6 (limit: 2353) Memory: 13.5M CGroup: /system.slice/apache2.service ??15585 /usr/sbin/apache2 -k start ??15586 /usr/sbin/apache2 -k start ??15587 /usr/sbin/apache2 -k start ??15588 /usr/sbin/apache2 -k start ??15589 /usr/sbin/apache2 -k start ??15590 /usr/sbin/apache2 -k start May 15 15:00:03 ubunt4 systemd[1]: Starting The Apache HTTP Server...
На данный момент веб-сервер Apache настроен для размещения Concrete5 CMS. Теперь вы можете перейти к следующему шагу.
Доступ к веб-интерфейсу Concrete5 CMS
Теперь откройте веб-браузер и войдите в веб-интерфейс Concrete5 CMS, используя URL-адрес http://concrete5.example.com. Вы будете перенаправлены на следующую страницу:
Выберите свой язык и нажмите кнопку со стрелкой. Вы должны увидеть следующую страницу:
Убедитесь, что все необходимые библиотеки установлены, затем нажмите кнопку «Продолжить установку». Вы должны увидеть следующую страницу:
Здесь укажите имя пользователя администратора, пароль, имя пользователя базы данных, пароль и имя базы данных, затем нажмите кнопку «Установить Concrete5», чтобы начать установку. После завершения установки вы должны увидеть следующую страницу:
Теперь нажмите кнопку «Редактировать свой сайт», вы должны увидеть панель инструментов Concrete5 на следующей странице:
Защитите Concrete5 с помощью Lets Encrypt SSL
Далее рекомендуется защитить ваш сайт с помощью Lets Encrypt SSL. Сначала установите клиент Certbot с помощью следующей команды:
apt-get install python3-certbot-apache -y
После установки выполните следующую команду, чтобы защитить свой сайт с помощью Lets Encrypt SSL:
certbot --apache -d concrete5.example.com
Вам будет предложено указать адрес электронной почты и принять условия обслуживания, как показано ниже:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator standalone, Installer None Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Plugins selected: Authenticator apache, Installer apache Obtaining a new certificate Performing the following challenges: http-01 challenge for concrete5.example.com Enabled Apache rewrite module Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/apache2/sites-available/concrete5-le-ssl.conf Enabled Apache socache_shmcb module Enabled Apache ssl module Deploying Certificate to VirtualHost /etc/apache2/sites-available/concrete5-le-ssl.conf Enabling available site: /etc/apache2/sites-available/concrete5-le-ssl.conf
Затем выберите, следует ли перенаправлять HTTP-трафик на HTTPS, как показано ниже:
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Введите 2 и нажмите Enter, чтобы установить Lets Encrypt SSL для вашего сайта:
Enabled Apache rewrite module Redirecting vhost in /etc/apache2/sites-enabled/concrete5.conf to ssl vhost in /etc/apache2/sites-available/concrete5-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://concrete5.example.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=concrete5.example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/concrete5.example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/concrete5.example.com/privkey.pem Your cert will expire on 2020-10-23. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
Теперь вы можете безопасно получить доступ к Concrete 5, используя URL-адрес https://concrete5.example.com.
Заключение
В приведенном выше руководстве вы узнали, как установить Concrete5 CMS с Apache и Lets Encrypt SSL в Ubuntu 20.04. Теперь вы можете легко публиковать свой контент в Интернете с помощью Concrete5 CMS. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.