Apache2 web server with php support in ubuntu
Apache HTTP Server is a free software/open source web server for Unix-like systems, Microsoft Windows, Novell NetWare and other platforms. Apache is notable for playing a key role in the initial growth of the World Wide Web,and continues to be the most popular web server in use, serving as the de facto reference platform against which other web serversare designed and judged.
Apache features configurable error messages, DBMS-based authentication databases, and content negotiation. It is also supported by several graphical user interfaces (GUIs) which permit easier, more intuitive configuration of the server.
Install apache2 in Ubuntu server
sudo apt-get install apache2 apache2-common apache2-mpm-prefork apache2-utils ssl-cert
This will complete the installation of apache2 web server and now you need to know where the configuration files and document root for your apache web server.
By default all your configuration files are located at /etc/apache2
Default document root for apache2 is /var/www.If you want to change the default document root you need to edit the /etc/apache2/sites-available/default file and look for this line “DocumentRoot /var/www/” here you can change whereever you want to change.For example if you want to change /home/wwww the above line looks like this “DocumentRoot/home/www/”.
The main configuration file located at /etc/apache2/apche2.conf.
Bydefault Apache2 to Listen on port 80. If this is not desired, please edit /etc/apache2/ports.conf as desired.after changing you need restart apache server.
For example if you want to change your apache webserver port to 78 you need to edit /etc/apache2/ports.conf
sudo gedit /etc/apache2/ports.conf
Look for the following line
Replace with the following line
sudo /etc/init.d/apache2 restart
Installing php and cgi support for apache2 in Ubuntu
you need to have universe source list in your sources.list file
sudo apt-get install libapache2-mod-php4 php4-cli php4-common php4-cgi
Next we edit /etc/apache2/apache2.conf file and check the index files are correct
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml
If you want to enable some Apache modules (SSL, rewrite, suexec, and include)
Restart Apache to make sure all is well.
sudo /etc/init.d/apache2 restart
Test your apache Server
You can access you apache using http://yourserverip/apache2-default/ it should appear the following screen
Test apache with PHP
To test if php4 installed correctly
Insert the following line into the new file
Now access this page http://yourserverip/test.php you should see the following screen
Related content:
Installing PHP Module for Apache on Ubuntu
Apache Web Server is one of the more dominant web servers on the net. Most of those installations are running some form of PHP applications, whether Laravel, WordPress, or some other custom application.
Apache was originally used as a static web server, hosting HTML files, for example, directly the client. However, due to its support for modules the web servers capabilities have grown to run as an application server as well.
Out of the box, a default Apache2 web server installation on Ubuntu 18.04, 18.10, 19.04, and 19.10 will not run a PHP application. The PHP module is not included.
This tutorial will show you how to configure an Apache web server for running PHP applications.
Installing Apache
To install Apache on your Ubuntu server, run the following command.
Installing PHP
Install PHP is simply enough. It can Ben installed using the Apt package manager from Ubuntu’s repositories.
PHP can also be installed from source, if you require a more recent version. That task, unfortunately, is outside of the scope of this tutorial.
To install PHP, run the following command:
Additional PHP modules can be installed with the language itself.
Install Apache PHP Module
The PHP module for Apache is not bundled with Apache. As such, it must be installed in addition to the Apache package.
sudo apt install libapache2-mod-php
Once installed the module will have to be enabled. We accomplish this using the a2enmod command.
Lastly, the Apache web service requires a reboot before the enabled mod will be loaded.
sudo systemctl restart apache2
Как подключить PHP к Apache на Windows
Выбирайте самую последнюю версию, с той битностью, какая у вашего сервера. Т.е. если у вас Apache 64-битный, то PHP также должен быть 64-битным. Всегда выбирайте Thread Safe версию.
Для каждого файла имеется две ссылки:
Выбирайте Zip, поскольку отладочный пакет только для тех, кто действительно знает, зачем он им нужен. Здесь имеется ввиду не отладка PHP-скриптов, а отладка самого интерпретатора PHP.
Настройка PHP в Windows
Настройка выполняется в два этапа:
- подключение PHP к Apache
- изменение настроек самого PHP (какие расширения включены, сколько выделено памяти PHP скриптам и т.д.)
Подключение PHP к Apache
Для подключения PHP к Apache откройте конфигурационный файл веб-сервера, который расположен по следующему пути: Apache24\conf\httpd.conf (в папке сервера, в подпапке conf, файл httpd.conf).
В этот файл добавьте три строки, две из которых нужно откорректировать:
PHPIniDir "C:/путь/до/PHP" AddHandler application/x-httpd-php .php LoadModule php_module "C:/путь/до/PHP/php8apache2_4.dll"
В первой строке вместо C:/путь/до/PHP напишите точный путь до папки, куда вы распаковали файлы PHP. В третьей строке C:/путь/до/PHP/php8apache2_4.dll также откорректируйте путь, указав расположение PHP папки.
К примеру, я распаковал PHP в папку C:/Server/bin/PHP, тогда мои настройки следующие:
PHPIniDir "C:/Server/bin/PHP" AddHandler application/x-httpd-php .php LoadModule php_module "C:/Server/bin/php/php8apache2_4.dll"
Если папка PHP находится в корне диска C, тогда эти строки должны быть такими:
PHPIniDir "C:/PHP" AddHandler application/x-httpd-php .php LoadModule php_module "C:/PHP/php8apache2_4.dll"
Чтобы изменения вступили в силу, перезапустите веб-сервер или компьютер.
Настройка PHP
В папке PHP найдите файл php.ini-development и переименуйте его в php.ini – это нужно сделать обязательно, иначе PHP не будет видеть сделанные настройки.
Открываем файл php.ini любым текстовым редактором, ищем строчку
extension_dir = "C:\путь\до\PHP\ext\"
Обратите внимание, что вам нужно скорректировать строку C:\путь\до\PHP\ext\, указав конкретный путь до папки, где размещены файлы PHP.
У PHP (как и у Apache) имеется много расширений. Если вы не знаете, какое расширение для чего нужно, то как минимум два варианта:
- начать изучить предназначение каждого расширения и подключить только те, которые вам действительно нужны;
- подключить самые важные расширения, чтобы любые сайты и движки работали без ошибок.
Чтобы подключить большую часть расширений, найдите группу строк:
;extension=bz2 ;extension=curl ;extension=ffi ;extension=ftp ;extension=fileinfo ;extension=gd ;extension=gettext ;extension=gmp ;extension=intl ;extension=imap ;extension=ldap ;extension=mbstring ;extension=exif ; Must be after mbstring as it depends on it ;extension=mysqli ;extension=oci8_12c ; Use with Oracle Database 12c Instant Client ;extension=odbc ;extension=openssl ;extension=pdo_firebird ;extension=pdo_mysql ;extension=pdo_oci ;extension=pdo_odbc ;extension=pdo_pgsql ;extension=pdo_sqlite ;extension=pgsql ;extension=shmop
extension=bz2 extension=curl extension=ffi extension=ftp extension=fileinfo extension=gd extension=gettext extension=gmp extension=intl extension=imap extension=ldap extension=mbstring extension=exif ; Must be after mbstring as it depends on it extension=mysqli ;extension=oci8_12c ; Use with Oracle Database 12c Instant Client extension=odbc extension=openssl ;extension=pdo_firebird extension=pdo_mysql ;extension=pdo_oci extension=pdo_odbc extension=pdo_pgsql extension=pdo_sqlite extension=pgsql extension=shmop
теперь раскомментируйте эту группу строк:
;extension=soap ;extension=sockets ;extension=sodium ;extension=sqlite3 ;extension=tidy ;extension=xsl
extension=soap extension=sockets extension=sodium extension=sqlite3 extension=tidy extension=xsl
Мы подключили самые востребованные расширения, чтобы работало как можно больше функций PHP.