PHP, the popular scripting language for web development, announced new 8.4 release last week. Here’s how to install or upgrade to Php 8.4 in Ubuntu 22.04 or Ubuntu 24.04 to work with Apache2 or Nginx web server.
PHP 8.4 introduced a number of new features such as property hooks, asymmetric visibility, lazy objects, an object API for BCMath, new array functions, and new JIT implementation based on IR Framework. See the release page for more.
This is a step by step beginner’s guide shows how to install the latest version of Nginx web server (either mainline or stable) in Ubuntu 24.04 and Ubuntu 22.04 Desktop or Server.
Nginx is a popular free and open-source web server, that can be also used as reverse proxy, load balancer, mail proxy and HTTP cache.
For a just working version, user can run command sudo apt install nginx-full to install it from Ubuntu system repository, which however is always old.
For the latest version, there are 2 ways to install the web server. Besides building from source, they include Ubuntu PPA and Nginx’s official repository.
Want to build a website on your Ubuntu Server? Well, LEMP may be a good choice and here’s how to install and set it up.
LEMP stands for Linux, Nginx (pronounced “engine x”), MySQL and PHP. The nginx project started with a strong focus on high concurrency, high performance and low memory usage. So it’s a good alternative to Apache webserver for building websites on low memory hosts.
To get started, log in your Ubuntu Server and follow the steps below:
1. Install MySQL
MySQL is a database management system which stores and organizes references to the information the webserver needs.
And check out if it is working by going to http://serverip
nginx is working ubuntu 14.04
3. Install PHP5
PHP is a reflective programming language, which makes it possible for all these different parts to work together.
We can make PHP5 work in nginx through PHP-FPM, which is an alternative PHP FastCGI implementation with some additional features useful for sites of any size, especially busier sites.
Run command below to install php5-fpm:
sudo apt-get install php5-fpm
4. Setup Nginx
The nginx configuration files are available in /etc/nginx/nginx.conf, read this configuration example.
To modify the default site example:
sudo vi /etc/nginx/sites-available/default
Here you can define the root directory (to put WordPress files there), your site domain name, as well as other settings. See the example below:
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.php index.html index.htm;
# Make site accessible from http://localhost/
server_name localhost;
location / {
try_files $uri $uri/ /index.php;
}
location /doc/ {
alias /usr/share/doc/;
autoindex on;
allow 127.0.0.1;
allow ::1;
deny all;
}
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
# With php5-fpm:
try_files $uri =404;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
}
Remember to restart the web service to apply changes:
sudo service nginx reload
5. Check if PHP is working
Create the test file:
sudo vi /usr/share/nginx/html/info.php
Add following lines and save the file:
<?php
phpinfo();
?>
Go to http://serverip/info.php in client’s web browser and you’ll see:
php is working
6 Get MySQL working with PHP: Install Xcache (list of PHP accelerators), a free and open PHP opcode cacher for caching and optimizing PHP intermediate code, as well as other PHP modules:
This tutorial shows you how to install LEMP stack in Ubuntu 13.10. LEMP stands for Linux, Nginx (pronounced “engine x”), MySQL and PHP. The nginx project started with a strong focus on high concurrency, high performance and low memory usage. So it’s a good alternative to Apache webserver for building websites on low memory hosts.
Tutorial Objectives:
Install Nginx, Php5, MySQL (LEMP) in Ubuntu 13.10 Server
Enjoy!
To get started, first login your Ubuntu Server and follow the steps below:
1. Intall MySQL
MySQL is a database management system which stores and organizes references to the information the webserver needs.
To install it, run command:
sudo apt-get install mysql-server mysql-client
While the installing process, you’ll be asked to type a password for MySQL root user.
2. Install Nginx
Nginx is available in Ubuntu’s repository, run command below to install it:
sudo apt-get install nginx
Or you can install the latest stable version from Nginx PPA:
To check out if nginx is working, go to http://serverip:
nginx is working ubuntu 13.10
3. Install PHP5
PHP is a reflective programming language, which makes it possible for all these different parts to work together.
We can make PHP5 work in nginx through PHP-FPM, which is an alternative PHP FastCGI implementation with some additional features useful for sites of any size, especially busier sites.
Run command below to install php5-fpm:
sudo apt-get install php5-fpm
4. Setup Nginx
The nginx configuration is in /etc/nginx/nginx.conf, read this configuration example.
Now, let’s modify the default site example:
sudo vi /etc/nginx/sites-available/default
Here you can define root directory (to put WordPress files there), your site domain, as well as other settings. See the example below:
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.php index.html index.htm;
# Make site accessible from http://localhost/
server_name localhost;
location / {
try_files $uri $uri/ /index.php;
}
location /doc/ {
alias /usr/share/doc/;
autoindex on;
allow 127.0.0.1;
allow ::1;
deny all;
}
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
# With php5-fpm:
try_files $uri =404;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
}
After that, reload Nginx:
sudo service nginx reload
4. Check out if PHP is working
Create the test file:
sudo vi /usr/share/nginx/html/info.php
Add following lines and save the file:
<?php
phpinfo();
?>
Go to http://serverip/info.php in client’s web browser and you’ll see:
php is working
5. Get MySQL working with PHP
Install Xcache, a free and open PHP opcode cacher for caching and optimizing PHP intermediate code, as well as other PHP modules: