WonderCMS to lekki, bezbazowy system CMS napisany w PHP. Ten poradnik pokazuje jak zainstalować go na Debianie 12 z certyfikatem SSL od Letsencrypt na trzy różne sposoby.

Wymagania wstępne

  • Serwer z Debianem 12
  • Dostęp do konta root lub użytkownika z uprawnieniami sudo
  • Zarejestrowana domena wskazująca na IP serwera

1. Instalacja manualna

1.1. Aktualizacja systemu i instalacja wymaganych pakietów

sudo apt update && sudo apt upgrade -y
sudo apt install -y apache2 php php-curl php-zip unzip certbot python3-certbot-apache

1.2. Pobranie i rozpakowanie WonderCMS

wget https://github.com/robiso/wondercms/releases/latest/download/WonderCMS.zip
unzip WonderCMS.zip -d /var/www/wondercms
sudo chown -R www-data:www-data /var/www/wondercms
sudo chmod -R 755 /var/www/wondercms

1.3. Konfiguracja Apache

Utwórz plik konfiguracyjny:

sudo nano /etc/apache2/sites-available/wondercms.conf

Dodaj następującą zawartość (zamień twojadomena.pl na swoją domenę):

<VirtualHost *:80>
    ServerName twojadomena.pl
    ServerAlias www.twojadomena.pl
    DocumentRoot /var/www/wondercms
    
    <Directory /var/www/wondercms>
        Options FollowSymlinks
        AllowOverride All
        Require all granted
    </Directory>
    
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Aktywuj konfigurację:

sudo a2ensite wondercms.conf
sudo a2enmod rewrite
sudo systemctl restart apache2

1.4. Instalacja certyfikatu SSL z Letsencrypt

sudo certbot --apache -d twojadomena.pl -d www.twojadomena.pl

Postępuj zgodnie z instrukcjami wyświetlanymi na ekranie. Certybot automatycznie zaktualizuje konfigurację Apache.

1.5. Zakończenie instalacji

Otwórz w przeglądarce swoją domenę (https://twojadomena.pl) i postępuj zgodnie z instrukcjami instalacyjnymi WonderCMS.

2. Instalacja za pomocą Dockera

2.1. Instalacja Dockera

sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl gnupg2 software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io

2.2. Pobranie obrazu WonderCMS

sudo docker pull wondercms/wondercms

2.3. Uruchomienie kontenera

sudo docker run -d \
    --name wondercms \
    -p 8080:80 \
    -v /var/wondercms:/var/www/html \
    -e APACHE_RUN_USER=#1000 \
    -e APACHE_RUN_GROUP=#1000 \
    wondercms/wondercms

2.4. Konfiguracja reverse proxy z Nginx i Letsencrypt

Instalacja Nginx i Certbota:

sudo apt install -y nginx certbot python3-certbot-nginx

Konfiguracja Nginx (utwórz plik /etc/nginx/sites-available/wondercms):

server {
    listen 80;
    server_name twojadomena.pl www.twojadomena.pl;
    
    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Aktywuj konfigurację i uzyskaj certyfikat:

sudo ln -s /etc/nginx/sites-available/wondercms /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
sudo certbot --nginx -d twojadomena.pl -d www.twojadomena.pl

3. Instalacja za pomocą Ansible

3.1. Instalacja Ansible

sudo apt update
sudo apt install -y ansible

3.2. Przygotowanie playbooka

Utwórz plik wondercms.yml:

---
- hosts: all
  become: yes
  vars:
    domain: "twojadomena.pl"
    www_root: "/var/www/wondercms"
    
  tasks:
    - name: Update system
      apt:
        update_cache: yes
        upgrade: dist
        
    - name: Install required packages
      apt:
        name: "{{ item }}"
        state: present
      loop:
        - apache2
        - php
        - php-curl
        - php-zip
        - unzip
        - certbot
        - python3-certbot-apache
        
    - name: Download WonderCMS
      get_url:
        url: https://github.com/robiso/wondercms/releases/latest/download/WonderCMS.zip
        dest: /tmp/WonderCMS.zip
        
    - name: Create web directory
      file:
        path: "{{ www_root }}"
        state: directory
        mode: '0755'
        
    - name: Unzip WonderCMS
      unarchive:
        src: /tmp/WonderCMS.zip
        dest: "{{ www_root }}"
        remote_src: yes
        
    - name: Set permissions
      file:
        path: "{{ www_root }}"
        owner: www-data
        group: www-data
        recurse: yes
        
    - name: Configure Apache
      template:
        src: wondercms.conf.j2
        dest: /etc/apache2/sites-available/wondercms.conf
      notify:
        - restart apache
        
    - name: Enable site and mod_rewrite
      shell: |
        a2ensite wondercms.conf
        a2enmod rewrite
        
    - name: Get SSL certificate
      command: certbot --apache --non-interactive --agree-tos --email admin@{{ domain }} -d {{ domain }} -d www.{{ domain }}
      
  handlers:
    - name: restart apache
      service:
        name: apache2
        state: restarted

Utwórz plik szablonu wondercms.conf.j2:

<VirtualHost *:80>
    ServerName {{ domain }}
    ServerAlias www.{{ domain }}
    DocumentRoot {{ www_root }}
    
    <Directory {{ www_root }}>
        Options FollowSymlinks
        AllowOverride All
        Require all granted
    </Directory>
    
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

3.3. Uruchomienie playbooka

ansible-playbook -i "localhost," -c local wondercms.yml

Powyższy playbook można również uruchomić na zdalnym hoście, modyfikując odpowiednio inventory.

Podsumowanie

WonderCMS to doskonały wybór dla osób poszukujących lekkiego, łatwego w obsłudze systemu CMS. Dzięki temu poradnikowi masz trzy różne metody instalacji na Debianie 12 z certyfikatem SSL od Letsencrypt:

  1. Instalacja manualna – dobra do nauki i pełnej kontroli
  2. Docker – idealny dla środowisk konteneryzowanych
  3. Ansible – doskonały do automatyzacji i zarządzania konfiguracją

Ważne: Po instalacji pamiętaj o:

  • Zmianie domyślnego hasła administratora
  • Regularnym tworzeniu kopii zapasowych
  • Aktualizacji WonderCMS do najnowszej wersji

 

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *