• Installera Flarum Community Software på olika Linuxdistributioner med Nginx och Apache

    Med Flarum kan du skapa ditt egna flashback forum.

    Introduktion till Flarum

    Flarum är en öppen källkodsprogramvara designad för att skapa och hantera onlineforum med enkelhet. Med ett elegant och modernt gränssnitt erbjuder Flarum en användarupplevelse som är både effektiv och lätt att använda. Programvaran är mycket anpassningsbar tack vare ett robust utökningssystem som tillåter administratörer att anpassa forumen efter specifika behov. Dessutom stöder Flarum responsiv design, vilket garanterar kompatibilitet över olika enheter och innehåller funktioner som realtidsnotifikationer, rik media-inbäddning och effektiva modereringsverktyg. Flarum är byggt på PHP och MySQL, vilket gör det tillgängligt för en mängd olika webbhotellmiljöer, och det passar både små gemenskaper och stora organisationer som söker en pålitlig plattform för online-diskussioner.

    I denna artikel kommer vi att gå igenom stegen för att installera Flarum på servrar som kör Debian 12, Ubuntu, OpenSUSE och RHEL, med både Nginx och Apache.

    Förutsättningar

    Innan vi börjar, se till att du har följande:

    • En server som kör Debian 12, Ubuntu, OpenSUSE eller RHEL.
    • En icke-root användare med sudo-behörigheter.
    • Ett Fullständigt Kvalificerat Domännamn (FQDN) som pekar på din server, till exempel flarum.example.com.
    • Swap-lagring aktiverad om servern har 1GB RAM.
    • Uppdatera serverns paket:
      sudo apt update && sudo apt upgrade  # För Debian och Ubuntu
      sudo zypper refresh && sudo zypper update  # För OpenSUSE
      sudo yum update  # För RHEL

    Installera nödvändiga paket:

    sudo apt install curl wget nano software-properties-common dirmngr apt-transport-https ca-certificates lsb-release debian-archive-keyring gnupg2 ufw unzip -y  # För Debian och Ubuntu
    sudo zypper install curl wget nano software-properties-common dirmngr apt-transport-https ca-certificates lsb-release debian-archive-keyring gnupg2 ufw unzip -y  # För OpenSUSE
    sudo yum install curl wget nano epel-release yum-utils unzip -y  # För RHEL

    Steg 1: Konfigurera brandväggen

    Debian och Ubuntu

    Kontrollera först statusen på brandväggen:

    sudo ufw status

    Om brandväggen inte är aktiv, aktivera den och tillåt nödvändiga portar:

    sudo ufw allow OpenSSH
    sudo ufw allow http
    sudo ufw allow https
    sudo ufw enable
    sudo ufw status

    OpenSUSE och RHEL

    Aktivera och konfigurera brandväggen:

    sudo systemctl start firewalld
    sudo systemctl enable firewalld
    sudo firewall-cmd --permanent --add-service=http
    sudo firewall-cmd --permanent --add-service=https
    sudo firewall-cmd --permanent --add-service=ssh
    sudo firewall-cmd --reload
    sudo firewall-cmd --list-all

    Steg 2: Installera Nginx eller Apache

    Nginx

    För att installera den senaste versionen av Nginx, börja med att importera Nginx’s signeringsnyckel och lägg till repositoriet:

    Debian och Ubuntu
    curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
    echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/debian `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
    sudo apt update
    sudo apt install nginx
    sudo systemctl start nginx
    sudo systemctl status nginx
    OpenSUSE
    sudo zypper addrepo https://nginx.org/packages/sles/ `lsb_release -cs` nginx
    sudo rpm --import https://nginx.org/keys/nginx_signing.key
    sudo zypper install nginx
    sudo systemctl start nginx
    sudo systemctl status nginx
    RHEL
    sudo yum install epel-release
    sudo yum install nginx
    sudo systemctl start nginx
    sudo systemctl enable nginx
    sudo systemctl status nginx

    Apache

    För att installera Apache:

    Debian och Ubuntu
    sudo apt update
    sudo apt install apache2
    sudo systemctl start apache2
    sudo systemctl enable apache2
    sudo systemctl status apache2
    OpenSUSE
    sudo zypper install apache2
    sudo systemctl start apache2
    sudo systemctl enable apache2
    sudo systemctl status apache2
    RHEL
    sudo yum install httpd
    sudo systemctl start httpd
    sudo systemctl enable httpd
    sudo systemctl status httpd

    Steg 3: Installera PHP

    Installera nödvändiga PHP-paket:

    Debian och Ubuntu

    sudo apt install php-cli php-fpm php-mysql php-xml php-gd php-json php-mbstring php-zip php-curl -y

    För att hålla PHP uppdaterat, lägg till Ondrej Sury’s PHP repository:

    sudo curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg
    sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
    sudo apt update
    sudo apt install php-cli php-fpm php-mysql php-xml php-gd php-json php-mbstring php-zip php-curl -y
    php --version

    OpenSUSE

    sudo zypper install php7 php7-fpm php7-mysql php7-xml php7-gd php7-json php7-mbstring php7-zip php7-curl
    sudo systemctl start php-fpm
    sudo systemctl enable php-fpm
    php --version

    RHEL

    sudo yum install epel-release
    sudo yum install php php-fpm php-mysqlnd php-xml php-gd php-json php-mbstring php-zip php-curl -y
    sudo systemctl start php-fpm
    sudo systemctl enable php-fpm
    php --version

    Steg 4: Installera Composer

    Composer är ett verktyg för att hantera PHP-beroenden. Installera Composer genom att köra följande kommandon:

    php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
    php -r "if (hash_file('sha384', 'composer-setup.php') === 'e21205b207c3ff031906575712edab6f13eb0b361f2085f1f1237b7126d785e826a450292b6cfd1d64d92e6563bbde02') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
    php composer-setup.php
    php -r "unlink('composer-setup.php');"
    sudo mv composer.phar /usr/local/bin/composer
    composer --version

    Steg 5: Installera MariaDB

    För att installera den senaste versionen av MariaDB, lägg till dess repository:

    Debian och Ubuntu

    sudo curl -o /usr/share/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp'
    echo "deb [signed-by=/usr/share/keyrings/mariadb-keyring.pgp] https://deb.mariadb.org/10.11/debian `lsb_release -cs` main" | sudo tee /etc/apt/sources.list.d/mariadb-server.list
    sudo apt update
    sudo apt install mariadb-server -y
    sudo systemctl status mariadb

    OpenSUSE

    sudo zypper addrepo --gpgcheck https://ftp.hosteurope.de/mirror/mariadb.org/repo/10.11/sles12-x86_64/ MariaDB
    sudo rpm --import https://mariadb.org/mariadb_release_signing_key.pgp
    sudo zypper refresh
    sudo zypper install MariaDB-server MariaDB-client
    sudo systemctl start mariadb
    sudo systemctl enable mariadb
    sudo systemctl status mariadb

    RHEL

    sudo curl -o /etc/yum.repos.d/MariaDB.repo 'https://downloads.mariadb.com/MariaDB/mariadb_repo_setup'
    sudo yum update
    sudo yum install MariaDB-server MariaDB-client
    sudo systemctl start mariadb
    sudo systemctl enable mariadb
    sudo systemctl status mariadb

    Säkra installationen:

    bash
    sudo mariadb-secure-installation

    Steg 6: Konfigurera MariaDB

    Logga in i MariaDB-shell och skapa en ny databas samt användare för Flarum:

    sudo mysql
    CREATE DATABASE flarum;
    CREATE USER 'flarumuser'@'localhost' IDENTIFIED BY 'yourpassword';
    GRANT ALL PRIVILEGES ON flarum.* TO 'flarumuser'@'localhost';
    GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    exit

    Steg 7: Installera Flarum

    Skapa och konfigurera Flarum-katalogen:

    sudo mkdir /var/www/flarum -p
    sudo chown -R $USER:$USER /var/www/flarum
    cd /var/www/flarum
    composer create-project flarum/flarum .
    sudo chown -R www-data:www-data /var/www/flarum
    sudo chmod 775 -R /var/www/flarum

    Steg 8: Installera SSL

    Installera Certbot för att generera SSL-certifikat:

    sudo apt install snapd  # För Debian och Ubuntu
    sudo zypper install snapd  # För OpenSUSE
    sudo yum install epel-release
    sudo yum install snapd  # För RHEL
    
    sudo snap install core && sudo snap refresh core
    sudo snap install --classic certbot
    sudo ln -s /snap/bin/certbot /usr/bin/certbot
    certbot --version
    sudo certbot certonly --apache --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m name@example.com -d flarum.example.com
    sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
    sudo certbot renew --dry-run

    Steg 9: Konfigurera PHP-FPM

    Ändra inställningarna i PHP-FPM-konfigurationsfilen:

    sudo nano /etc/php/8.2/fpm/pool.d/www.conf  # För Debian och Ubuntu
    sudo nano /etc/php7/fpm/php-fpm.d/www.conf  # För OpenSUSE
    sudo nano /etc/php-fpm.d/www.conf  # För RHEL

    Ändra user och group till www-data samt listen.owner och listen.group till www-data. Öka filuppladdningsstorleken till 8 MB:

    sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 8M/' /etc/php/8.2/fpm/php.ini  # För Debian och Ubuntu
    sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 8M/' /etc/php7/fpm/php.ini  # För OpenSUSE
    sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 8M/' /etc/php.ini  # För RHEL
    sudo systemctl restart php8.2-fpm  # För Debian och Ubuntu
    sudo systemctl restart php7-fpm  # För OpenSUSE
    sudo systemctl restart php-fpm  # För RHEL
    sudo chgrp -R www-data /var/lib/php/sessions

    Steg 10: Konfigurera Nginx eller Apache

    Nginx

    Lägg till en konfigurationsfil för din webbplats:

    sudo nano /etc/nginx/conf.d/flarum.conf

    Klistra in följande kod:

    server {
        listen [::]:80;
        listen 80;
    
        server_name flarum.example.com;
    
        # redirect http to https
        return 301 https://flarum.example.com$request_uri;
    }
    
    server {
        listen [::]:443 ssl http2;
        listen 443 ssl http2;
    
        server_name flarum.example.com;
    
        access_log /var/log/nginx/flarum.access.log;
        error_log  /var/log/nginx/flarum.error.log;
    
        root /var/www/flarum/public;
        index index.php;
    
        include /var/www/flarum/.nginx.conf;
    
        client_max_body_size 8M;
    
        if ($host != "flarum.example.com") {
            return 301 $scheme://flarum.example.com$request_uri;
        }
    
        # SSL code
        ssl_certificate /etc/letsencrypt/live/flarum.example.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/flarum.example.com/privkey.pem;
        ssl_trusted_certificate /etc/letsencrypt/live/flarum.example.com/chain.pem;
        ssl_session_timeout 1d;
        ssl_session_cache shared:MozSSL:10m;
        ssl_session_tickets off;
        ssl_prefer_server_ciphers off;
        ssl_stapling on;
        ssl_stapling_verify on;
        ssl_dhparam /etc/ssl/certs/dhparam.pem;
        resolver 1.1.1.1 1.0.0.1 [2606:4700:4700::1111] [2606:4700:4700::1001] 8.8.8.8 8.8.4.4 [2001:4860:4860::8888] [2001:4860:4860::8844] valid=60s;
        resolver_timeout 2s;
    
        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    
        tcp_nopush on;
        types_hash_max_size 2048;
    
        location ~ \.php$ {
            fastcgi_pass  unix:/run/php/php-fpm.sock;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_index index.php;
            include  fastcgi_params;
        }
    }

    Öppna nginx-konfigurationsfilen och lägg till följande rad:

    sudo nano /etc/nginx/nginx.conf
    server_names_hash_bucket_size 64;

    Testa konfigurationen och ladda om Nginx:

    sudo nginx -t
    sudo systemctl reload nginx

    Apache

    Lägg till en konfigurationsfil för din webbplats:

    sudo nano /etc/apache2/sites-available/flarum.conf  # För Debian och Ubuntu
    sudo nano /etc/httpd/conf.d/flarum.conf  # För RHEL och OpenSUSE

    Klistra in följande kod:

    <VirtualHost *:80>
        ServerName flarum.example.com
        DocumentRoot /var/www/flarum/public
    
        <Directory /var/www/flarum/public>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Require all granted
        </Directory>
    
        ErrorLog ${APACHE_LOG_DIR}/flarum.error.log
        CustomLog ${APACHE_LOG_DIR}/flarum.access.log combined
    
        RewriteEngine on
        RewriteCond %{SERVER_NAME} =flarum.example.com
        RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
    </VirtualHost>
    
    <VirtualHost *:443>
        ServerName flarum.example.com
        DocumentRoot /var/www/flarum/public
    
        <Directory /var/www/flarum/public>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Require all granted
        </Directory>
    
        ErrorLog ${APACHE_LOG_DIR}/flarum.error.log
        CustomLog ${APACHE_LOG_DIR}/flarum.access.log combined
    
        SSLEngine on
        SSLCertificateFile /etc/letsencrypt/live/flarum.example.com/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/flarum.example.com/privkey.pem
        SSLCertificateChainFile /etc/letsencrypt/live/flarum.example.com/chain.pem
    </VirtualHost>

    Aktivera den nya webbplatsen och moduler:

    sudo a2ensite flarum.conf
    sudo a2enmod rewrite ssl
    sudo systemctl restart apache2  # För Debian och Ubuntu
    sudo systemctl restart httpd  # För RHEL och OpenSUSE

    Steg 11: Slutför installationen av Flarum

    Öppna http://example.com i din webbläsare och följ instruktionerna för att slutföra installationen av Flarum. Ange de databasuppgifter du skapade tidigare och klicka på Install Flarum.

    Aktivera tvåfaktorsautentisering (2FA)

    För att förbättra säkerheten, aktivera tvåfaktorsautentisering genom att installera en 2FA-tillägg:

    cd /var/www/flarum
    composer require ianm/twofactor:"*"

    Aktivera tillägget från administrationspanelen.

    Konfigurera e-postinställningar

    För att skicka e-post från Flarum, konfigurera e-postinställningarna från administrationspanelen. Om du använder Mailgun, installera

    ett tillägg:

    cd /var/www/flarum
    composer require guzzlehttp/guzzle:^7.0

    Testa e-postinställningarna genom att skicka ett testmeddelande.

    Slutsats

    Detta avslutar vår handledning om hur man installerar Flarum på olika Linux-distributioner med både Nginx och Apache. Om du har några frågor eller feedback, vänligen kommentera nedan.

    https://flarum.org

Installera Flarum Community Software på olika Linuxdistributioner med Nginx och Apache

Med Flarum kan du skapa ditt egna flashback forum.

Introduktion till Flarum

Flarum är en öppen källkodsprogramvara designad för att skapa och hantera onlineforum med enkelhet. Med ett elegant och modernt gränssnitt erbjuder Flarum en användarupplevelse som är både effektiv och lätt att använda. Programvaran är mycket anpassningsbar tack vare ett robust utökningssystem som tillåter administratörer att anpassa forumen efter specifika behov. Dessutom stöder Flarum responsiv design, vilket garanterar kompatibilitet över olika enheter och innehåller funktioner som realtidsnotifikationer, rik media-inbäddning och effektiva modereringsverktyg. Flarum är byggt på PHP och MySQL, vilket gör det tillgängligt för en mängd olika webbhotellmiljöer, och det passar både små gemenskaper och stora organisationer som söker en pålitlig plattform för online-diskussioner.

I denna artikel kommer vi att gå igenom stegen för att installera Flarum på servrar som kör Debian 12, Ubuntu, OpenSUSE och RHEL, med både Nginx och Apache.

Förutsättningar

Innan vi börjar, se till att du har följande:

  • En server som kör Debian 12, Ubuntu, OpenSUSE eller RHEL.
  • En icke-root användare med sudo-behörigheter.
  • Ett Fullständigt Kvalificerat Domännamn (FQDN) som pekar på din server, till exempel flarum.example.com.
  • Swap-lagring aktiverad om servern har 1GB RAM.
  • Uppdatera serverns paket:
  sudo apt update && sudo apt upgrade  # För Debian och Ubuntu
  sudo zypper refresh && sudo zypper update  # För OpenSUSE
  sudo yum update  # För RHEL

Installera nödvändiga paket:

sudo apt install curl wget nano software-properties-common dirmngr apt-transport-https ca-certificates lsb-release debian-archive-keyring gnupg2 ufw unzip -y  # För Debian och Ubuntu
sudo zypper install curl wget nano software-properties-common dirmngr apt-transport-https ca-certificates lsb-release debian-archive-keyring gnupg2 ufw unzip -y  # För OpenSUSE
sudo yum install curl wget nano epel-release yum-utils unzip -y  # För RHEL

Steg 1: Konfigurera brandväggen

Debian och Ubuntu

Kontrollera först statusen på brandväggen:

sudo ufw status

Om brandväggen inte är aktiv, aktivera den och tillåt nödvändiga portar:

sudo ufw allow OpenSSH
sudo ufw allow http
sudo ufw allow https
sudo ufw enable
sudo ufw status

OpenSUSE och RHEL

Aktivera och konfigurera brandväggen:

sudo systemctl start firewalld
sudo systemctl enable firewalld
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

Steg 2: Installera Nginx eller Apache

Nginx

För att installera den senaste versionen av Nginx, börja med att importera Nginx’s signeringsnyckel och lägg till repositoriet:

Debian och Ubuntu
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] http://nginx.org/packages/debian `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
sudo apt update
sudo apt install nginx
sudo systemctl start nginx
sudo systemctl status nginx
OpenSUSE
sudo zypper addrepo https://nginx.org/packages/sles/ `lsb_release -cs` nginx
sudo rpm --import https://nginx.org/keys/nginx_signing.key
sudo zypper install nginx
sudo systemctl start nginx
sudo systemctl status nginx
RHEL
sudo yum install epel-release
sudo yum install nginx
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl status nginx

Apache

För att installera Apache:

Debian och Ubuntu
sudo apt update
sudo apt install apache2
sudo systemctl start apache2
sudo systemctl enable apache2
sudo systemctl status apache2
OpenSUSE
sudo zypper install apache2
sudo systemctl start apache2
sudo systemctl enable apache2
sudo systemctl status apache2
RHEL
sudo yum install httpd
sudo systemctl start httpd
sudo systemctl enable httpd
sudo systemctl status httpd

Steg 3: Installera PHP

Installera nödvändiga PHP-paket:

Debian och Ubuntu

sudo apt install php-cli php-fpm php-mysql php-xml php-gd php-json php-mbstring php-zip php-curl -y

För att hålla PHP uppdaterat, lägg till Ondrej Sury’s PHP repository:

sudo curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg
sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
sudo apt update
sudo apt install php-cli php-fpm php-mysql php-xml php-gd php-json php-mbstring php-zip php-curl -y
php --version

OpenSUSE

sudo zypper install php7 php7-fpm php7-mysql php7-xml php7-gd php7-json php7-mbstring php7-zip php7-curl
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
php --version

RHEL

sudo yum install epel-release
sudo yum install php php-fpm php-mysqlnd php-xml php-gd php-json php-mbstring php-zip php-curl -y
sudo systemctl start php-fpm
sudo systemctl enable php-fpm
php --version

Steg 4: Installera Composer

Composer är ett verktyg för att hantera PHP-beroenden. Installera Composer genom att köra följande kommandon:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'e21205b207c3ff031906575712edab6f13eb0b361f2085f1f1237b7126d785e826a450292b6cfd1d64d92e6563bbde02') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer
composer --version

Steg 5: Installera MariaDB

För att installera den senaste versionen av MariaDB, lägg till dess repository:

Debian och Ubuntu

sudo curl -o /usr/share/keyrings/mariadb-keyring.pgp 'https://mariadb.org/mariadb_release_signing_key.pgp'
echo "deb [signed-by=/usr/share/keyrings/mariadb-keyring.pgp] https://deb.mariadb.org/10.11/debian `lsb_release -cs` main" | sudo tee /etc/apt/sources.list.d/mariadb-server.list
sudo apt update
sudo apt install mariadb-server -y
sudo systemctl status mariadb

OpenSUSE

sudo zypper addrepo --gpgcheck https://ftp.hosteurope.de/mirror/mariadb.org/repo/10.11/sles12-x86_64/ MariaDB
sudo rpm --import https://mariadb.org/mariadb_release_signing_key.pgp
sudo zypper refresh
sudo zypper install MariaDB-server MariaDB-client
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo systemctl status mariadb

RHEL

sudo curl -o /etc/yum.repos.d/MariaDB.repo 'https://downloads.mariadb.com/MariaDB/mariadb_repo_setup'
sudo yum update
sudo yum install MariaDB-server MariaDB-client
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo systemctl status mariadb

Säkra installationen:

bash
sudo mariadb-secure-installation

Steg 6: Konfigurera MariaDB

Logga in i MariaDB-shell och skapa en ny databas samt användare för Flarum:

sudo mysql
CREATE DATABASE flarum;
CREATE USER 'flarumuser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON flarum.* TO 'flarumuser'@'localhost';
GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit

Steg 7: Installera Flarum

Skapa och konfigurera Flarum-katalogen:

sudo mkdir /var/www/flarum -p
sudo chown -R $USER:$USER /var/www/flarum
cd /var/www/flarum
composer create-project flarum/flarum .
sudo chown -R www-data:www-data /var/www/flarum
sudo chmod 775 -R /var/www/flarum

Steg 8: Installera SSL

Installera Certbot för att generera SSL-certifikat:

sudo apt install snapd  # För Debian och Ubuntu
sudo zypper install snapd  # För OpenSUSE
sudo yum install epel-release
sudo yum install snapd  # För RHEL

sudo snap install core && sudo snap refresh core
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
certbot --version
sudo certbot certonly --apache --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m name@example.com -d flarum.example.com
sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
sudo certbot renew --dry-run

Steg 9: Konfigurera PHP-FPM

Ändra inställningarna i PHP-FPM-konfigurationsfilen:

sudo nano /etc/php/8.2/fpm/pool.d/www.conf  # För Debian och Ubuntu
sudo nano /etc/php7/fpm/php-fpm.d/www.conf  # För OpenSUSE
sudo nano /etc/php-fpm.d/www.conf  # För RHEL

Ändra user och group till www-data samt listen.owner och listen.group till www-data. Öka filuppladdningsstorleken till 8 MB:

sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 8M/' /etc/php/8.2/fpm/php.ini  # För Debian och Ubuntu
sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 8M/' /etc/php7/fpm/php.ini  # För OpenSUSE
sudo sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 8M/' /etc/php.ini  # För RHEL
sudo systemctl restart php8.2-fpm  # För Debian och Ubuntu
sudo systemctl restart php7-fpm  # För OpenSUSE
sudo systemctl restart php-fpm  # För RHEL
sudo chgrp -R www-data /var/lib/php/sessions

Steg 10: Konfigurera Nginx eller Apache

Nginx

Lägg till en konfigurationsfil för din webbplats:

sudo nano /etc/nginx/conf.d/flarum.conf

Klistra in följande kod:

server {
    listen [::]:80;
    listen 80;

    server_name flarum.example.com;

    # redirect http to https
    return 301 https://flarum.example.com$request_uri;
}

server {
    listen [::]:443 ssl http2;
    listen 443 ssl http2;

    server_name flarum.example.com;

    access_log /var/log/nginx/flarum.access.log;
    error_log  /var/log/nginx/flarum.error.log;

    root /var/www/flarum/public;
    index index.php;

    include /var/www/flarum/.nginx.conf;

    client_max_body_size 8M;

    if ($host != "flarum.example.com") {
        return 301 $scheme://flarum.example.com$request_uri;
    }

    # SSL code
    ssl_certificate /etc/letsencrypt/live/flarum.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/flarum.example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/flarum.example.com/chain.pem;
    ssl_session_timeout 1d;
    ssl_session_cache shared:MozSSL:10m;
    ssl_session_tickets off;
    ssl_prefer_server_ciphers off;
    ssl_stapling on;
    ssl_stapling_verify on;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;
    resolver 1.1.1.1 1.0.0.1 [2606:4700:4700::1111] [2606:4700:4700::1001] 8.8.8.8 8.8.4.4 [2001:4860:4860::8888] [2001:4860:4860::8844] valid=60s;
    resolver_timeout 2s;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;

    tcp_nopush on;
    types_hash_max_size 2048;

    location ~ \.php$ {
        fastcgi_pass  unix:/run/php/php-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_index index.php;
        include  fastcgi_params;
    }
}

Öppna nginx-konfigurationsfilen och lägg till följande rad:

sudo nano /etc/nginx/nginx.conf
server_names_hash_bucket_size 64;

Testa konfigurationen och ladda om Nginx:

sudo nginx -t
sudo systemctl reload nginx

Apache

Lägg till en konfigurationsfil för din webbplats:

sudo nano /etc/apache2/sites-available/flarum.conf  # För Debian och Ubuntu
sudo nano /etc/httpd/conf.d/flarum.conf  # För RHEL och OpenSUSE

Klistra in följande kod:

<VirtualHost *:80>
    ServerName flarum.example.com
    DocumentRoot /var/www/flarum/public

    <Directory /var/www/flarum/public>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/flarum.error.log
    CustomLog ${APACHE_LOG_DIR}/flarum.access.log combined

    RewriteEngine on
    RewriteCond %{SERVER_NAME} =flarum.example.com
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

<VirtualHost *:443>
    ServerName flarum.example.com
    DocumentRoot /var/www/flarum/public

    <Directory /var/www/flarum/public>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/flarum.error.log
    CustomLog ${APACHE_LOG_DIR}/flarum.access.log combined

    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/flarum.example.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/flarum.example.com/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/flarum.example.com/chain.pem
</VirtualHost>

Aktivera den nya webbplatsen och moduler:

sudo a2ensite flarum.conf
sudo a2enmod rewrite ssl
sudo systemctl restart apache2  # För Debian och Ubuntu
sudo systemctl restart httpd  # För RHEL och OpenSUSE

Steg 11: Slutför installationen av Flarum

Öppna http://example.com i din webbläsare och följ instruktionerna för att slutföra installationen av Flarum. Ange de databasuppgifter du skapade tidigare och klicka på Install Flarum.

Aktivera tvåfaktorsautentisering (2FA)

För att förbättra säkerheten, aktivera tvåfaktorsautentisering genom att installera en 2FA-tillägg:

cd /var/www/flarum
composer require ianm/twofactor:"*"

Aktivera tillägget från administrationspanelen.

Konfigurera e-postinställningar

För att skicka e-post från Flarum, konfigurera e-postinställningarna från administrationspanelen. Om du använder Mailgun, installera

ett tillägg:

cd /var/www/flarum
composer require guzzlehttp/guzzle:^7.0

Testa e-postinställningarna genom att skicka ett testmeddelande.

Slutsats

Detta avslutar vår handledning om hur man installerar Flarum på olika Linux-distributioner med både Nginx och Apache. Om du har några frågor eller feedback, vänligen kommentera nedan.

https://flarum.org