Skip to content

PHP 8.2 – Nginx eller Apache – Ubuntu

I denne guide vil jeg forklare hvor du installerer PHP 8.3 på Nginx eller en Apache2 web server.

Jeg går ud fra du har lavet de grundlæggende instillinger, som at sikre din server m.m.

Det første du skal have gjort er at tilføje nogle kilder til din servers pakkeliste – Det gør du med nedenstående kommandoer.

				
					sudo apt install software-properties-common && sudo add-apt-repository ppa:ondrej/php -y
				
			

Opdater din server

Efter du har opdateret din servers pakkeliste, skal du køre nedenstående kommando

				
					sudo apt update -y && sudo apt upgrade -y
				
			

Nginx installation:

Hvis du vil bruge Nginx som webserver, skal du installere den med nedenstående kommando.

				
					sudo apt install -y nginx
				
			

Apache 2 Installation:

Hvis du vil bruge Apache2 som webserver, skal du installere den med følgene kommando.

				
					sudo apt install -y apache2 libapache2-mod-fcgid
				
			

PHP 8.3 Installation

				
					sudo apt install php8.3 php8.3-fpm php8.3-common php8.3-mysql php8.3-xml php8.3-xmlrpc php8.3-curl php8.3-gd php8.3-imagick php8.3-cli php8.3-dev php8.3-imap php8.3-mbstring php8.3-opcache php8.3-soap php8.3-zip php8.3-intl -y
				
			

OBS: Apache2 fpm

Som standard er fpm ikke aktiveret i Apache2. Det gør du med nedenstående kommandoer

				
					sudo a2enmod proxy_fcgi setenvif

sudo a2enconf php8.3-fpm

sudo systemctl restart apache2
				
			

Jeg vil anbefale, at du retter dette i din php.ini som du finder nedenstående

 
				
					/etc/php/8.2/fpm/php.ini
				
			
  • upload_max_filesize = 1024M
  • memory_limit = 512M
  • post_max_size = 1024M
  • max_execution_time = 1000
  • max_input_vars = 3000
  • max_input_time = -1

Når dette er rettet, skal du genstarte FPM

				
					sudo service php8.3-fpm restart
				
			

Genstart Nginx eller Apache2 for at ændringerne træder i kraft

Nginx:

				
					sudo systemctl restart nginx
				
			

Apache2:

				
					systemctl restart apache2
				
			

BONUS INFO # 1 : Firewall (UFW)

Hvis du bruger en firewall på din server – F.eks UFW i dette tilfælde, skal du huske at åbne portene på din server, så den kan blive tilgået udefra.

Åben port 80 samt 443 i ufw for at kunne tilgå din webserver ude fra – Det gør du med denne kommando:

				
					sudo ufw allow proto tcp from any to any port 80,443
				
			

BONUS INFO # 2 – Defaults Virtualhosts

 

Nginx standard “virtual host”

				
					server {
    listen 80;
    listen [::]:80;
    # Declare the domain name of the website
    server_name example.com www.example.com;
    # Declare the document root directory
    root  /var/www/html;
    index index.html index.php;
    # Pass PHP files to PHP-FPM listening on /run/php/php8.3-fpm.sock
    location ~ \.php$ {
        try_files $uri =404;
        # Mitigate https://httpoxy.org/ vulnerabilities
        fastcgi_param HTTP_PROXY "";
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
        fastcgi_index index.php;
        include fastcgi.conf;
    }
}
				
			

Apache2 standard “virtual host”

				
					<VirtualHost *:80>
     ServerName example.com
     ServerAlias www.example.com
     DocumentRoot /var/www/html
     <Directory /var/www/html>
          Options Indexes FollowSymLinks
         AllowOverride All
         Require all granted
     </Directory>
     <FilesMatch ".php$"> 
         SetHandler "proxy:unix:/var/run/php/php8.2-fpm.sock|fcgi://localhost/"   
      </FilesMatch>
</VirtualHost>
				
			

BONUS INFO # 3 – Gratis SSL Certifikat

Jeg har skrevet en guide til hvordan du installerer certbot fra lets encrypt, og udsteder et gratis SSL certifikat til dit domæne

Du kan læse den HER

BONUS INFO # 4 – Aktivere apache *.conf

For at aktivere din nyoprettet config fil i apache2, skal du bruge disse kommandoer

				
					sudo a2ensite example.conf

sudo systemctl restart apache2
				
			

Generel fejl finding: Tjek dine log filer, hvis der skulle opstå problemer.

Du finde Nginx´s log filer her:

				
					/var/log/nginx
				
			

Du kan også køre nedenstående kommando for at tjekke dine nginx config filer:

				
					sudo nginx -t
				
			

Du finde Apache2´s log filer her:

				
					/var/log/apache2/
				
			

Du kan også køre nedenstående kommando for at tjekke dine apache2 config filer:

				
					sudo apache2ctl -t 
				
			

OBS: Apache2 fejlfinding

Hvis du får en fejl der ligner nedenstående

“apache2: Could not reliably determine the server’s fully qualified domain name, using ::1. Set the ‘ServerName’ directive globally to suppress this message”

Du skal rette nedenstående fil

				
					/etc/apache2/apache2.conf
				
			

Tilføje nu nedenstående code i bunden af filen:

				
					ServerName localhost
				
			

Efterfølgende skal du genstarte apache2 med denne kommando

				
					sudo systemctl restart apache2
				
			

Bedøm dette indlæg:

Hvor nyttigt var dette indlæg?

Vælg din bedømmelse

Gennemsnitlig bedømmelse? 0 / 5. Antal bedømmelser: 0

Ingen bedømmelser endnu! Vær den første til at bedømme dette indlæg.

Del dette indlæg:

Kommentarer:

Comments are closed for this article!

Share to...