Поиск по сайту:

Как установить WonderCMS с Apache и Lets Encrypt SSL на CentOS 8


На этой странице

  1. Предпосылки
  2. Установите Apache и PHP
  3. Загрузить WonderCMS
  4. Настройка Apache для WonderCMS
  5. Защитите WonderCMS с помощью Lets Encrypt SSL
  6. Настройка брандмауэра и SELinux
  7. Доступ к WonderCMS
  8. Заключение

WonderCMS — это бесплатная, простая и легкая система управления контентом с открытым исходным кодом для создания простых веб-сайтов и блогов. Это CMS с плоским файлом и не требует базы данных. Процесс установки очень прост и не требует первоначальной настройки. Он предлагает богатый набор функций, включая поддержку WYSIWYG, гибкую структуру CSS, оптимизацию для SEO и многое другое.

В этом руководстве мы покажем вам, как установить WonderCMS на CentOS 8 и защитить его с помощью Lets Encrypt SSL.

Предпосылки

  • Сервер под управлением CentOS 8.
  • На вашем сервере настроен пароль root.

Установите Апач и PHP

Сначала установите веб-сервер Apache, PHP и другие расширения PHP с помощью следующей команды:

dnf install httpd php php-mysqlnd php-curl php-opcache php-xml php-xmlrpc php-gd php-mbstring php-zip php-json wget unzip git -y

После завершения установки откройте файл php.ini и измените некоторые настройки:

nano /etc/php.ini

Измените значение в соответствии с вашим требованием:

memory_limit = 128M
post_max_size = 32M
upload_max_filesize = 16M
max_execution_time = 300
date.timezone = Asia/Kolkata

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

systemctl start httpd
systemctl enable httpd

Скачать WonderCMS

Сначала загрузите последнюю версию WonderCMS из репозитория Git:

cd /var/www/html
git clone https://github.com/robiso/wondercms.git

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

chown -R apache:apache /var/www/html/wondercms
chmod -R 775 /var/www/html/wondercms

Настройте Apache для WonderCMS

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

nano /etc/httpd/conf.d/wondercms.conf

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

<VirtualHost *:80>
  ServerName wonder.linuxbuz.com
  DirectoryIndex index.php
  DocumentRoot /var/www/html/wondercms  
  Redirect /wondercms/loginURL /loginURL

  ErrorLog /var/log/httpd/linuxbuz.com-error.log
  CustomLog /var/log/httpd/linuxbuz.com-access.log combined

  <Directory /var/www/html/wondercms>
      Options FollowSymLinks
      AllowOverride All
      Require all granted
  </Directory>

</VirtualHost>

Сохраните и закройте файл. Затем перезапустите службу Apache с помощью следующей команды:

systemctl restart httpd

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

systemctl status httpd

Вы должны увидеть следующий вывод:

? httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/httpd.service.d
           ??php-fpm.conf
   Active: active (running) since Wed 2020-02-19 08:51:34 EST; 1min 25s ago
     Docs: man:httpd.service(8)
 Main PID: 4716 (httpd)
   Status: "Total requests: 6; Idle/Busy workers 100/0;Requests/sec: 0.0759; Bytes served/sec: 812 B/sec"
    Tasks: 278 (limit: 12558)
   Memory: 43.1M
   CGroup: /system.slice/httpd.service
           ??4716 /usr/sbin/httpd -DFOREGROUND
           ??4718 /usr/sbin/httpd -DFOREGROUND
           ??4719 /usr/sbin/httpd -DFOREGROUND
           ??4720 /usr/sbin/httpd -DFOREGROUND
           ??4721 /usr/sbin/httpd -DFOREGROUND
           ??4935 /usr/sbin/httpd -DFOREGROUND

Feb 19 08:51:34 centos8 systemd[1]: Starting The Apache HTTP Server...

Защитите WonderCMS с помощью Lets Encrypt SSL

Затем установите клиент Certbot Lets Encrypt с помощью следующей команды:

wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto

Теперь выполните следующую команду, чтобы получить и установить SSL-сертификат для вашего веб-сайта WonderCMS.

certbot-auto --apache -d wonder.linuxbuz.com

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

Примечание. Если вы получите какую-либо ошибку, связанную с SSL-сертификатом, перезапустите службу Apache и снова выполните указанную выше команду.

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
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 


Obtaining a new certificate
Performing the following challenges:
http-01 challenge for wonder.linuxbuz.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/wondercms.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, чтобы продолжить. После завершения установки вы должны увидеть следующий вывод:

Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/wondercms.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://wonder.linuxbuz.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=wonder.linuxbuz.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/wonder.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/wonder.linuxbuz.com/privkey.pem
   Your cert will expire on 2020-03-23. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot-auto
   again with the "certonly" option. To non-interactively renew *all*
   of your certificates, run "certbot-auto 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

Настройте брандмауэр и SELinux

Затем вам нужно будет создать правило брандмауэра, чтобы разрешить службы HTTP и HTTPS из внешних сетей. Вы можете разрешить это с помощью следующей команды:

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

Далее вам нужно будет настроить SELinux для WonderCMS. Вы можете настроить SELinux с помощью следующей команды:

setsebool httpd_can_network_connect on -P
chcon -R -u system_u -t httpd_sys_rw_content_t -r object_r /var/www/html/wondercms

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

systemctl restart httpd

Доступ к WonderCMS

Теперь откройте веб-браузер и введите URL-адрес https://wonder.linuxbuz.com. Вы будете перенаправлены на домашнюю страницу WonderCMS:

Теперь скопируйте пароль со страницы выше и нажмите кнопку «Нажмите для входа». Вы должны увидеть следующую страницу:

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

Далее нажмите Настройки => Безопасность. Вы должны увидеть следующую страницу:

Измените URL-адрес для входа, пароль и нажмите кнопку ИЗМЕНИТЬ ПАРОЛЬ.

Заключение

Поздравляем! вы успешно установили и защитили WonderCMS на CentOS 8 с помощью Lets Encrypt SSL. Теперь вы можете легко разместить свой собственный блог и веб-сайт с помощью WonderCMS.