php cgi install ubuntu
Установка PHP в Ubuntu
Установка PHP в Ubuntu
PHP версии 7.4 поставляется в официальных репозиториях Ubuntu, поэтому если вы хотите эту версию, то можете очень просто установить ее с помощью команды apt. Сначала смотрим информацию:
Теперь для установки версии из репозиториев наберите:
sudo apt install php
Для того чтобы интерпретатор php работал с Apache необходимо установить ещё этот пакет:
sudo apt install libapache2-mod-php
После этого можно посмотреть версию php в терминале:
Если вам нужна другая версия PHP, например, 5.6, то вам придется добавить в систему репозиторий PPA. Сначала необходимо установить зависимости:
sudo apt install python-software-properties
Затем для добавления PPA репозитория выполните:
sudo add-apt-repository ppa:ondrej/php
Теперь вы можете установить php ubuntu нужной вам версии. В данном случае 5.6. Для Apache выполните такие команды:
sudo apt install php5.6 libapache2-mod-php5.6
Затем можно смотреть версию:
Обратите внимание, что установленная версия PHP не конфликтует с версией из официальных репозиториев. Обе версии могут существовать в системе и между ними можно переключаться.
На момент написания статьи, версия PHP 8.0 вышла относительно недавно и в официальных репозиториях LTS релиза Ubuntu её нет. В этой версии было много улучшений и исправлений и если вы хотите её попробовать, то можете установить из того же самого PPA:
sudo add-apt-repository ppa:ondrej/php
Затем, как и в предыдущем пункте необходимо указать версию php, которая вам нужна в команде установки:
sudo apt install php8.0 libapache2-mod-php8.0
После завершения установки интерпретатор появится в системе:
Установка расширений PHP
Не зависимо от того какую версию PHP вы установили, обычно для полноценной работы программ необходимо ещё установить расширения. Вот основные расширения, которые требуются чаще всего:
Для того чтобы установить все эти расширения для версии PHP по умолчанию выполните такую команду:
sudo apt install php-curl php-memcached php-mysql php-pgsql php-gd php-imagick php-intl php-mcrypt php-xml php-zip php-mbstring
Если надо установить расширения PHP для определённой версии, то следует указать эту версию в названии пакета:
sudo apt install php7.4-curl php7.4-memcached php7.4-mysql php7.4-pgsql php7.4-gd php7.4-imagick php7.4-intl php7.4-mcrypt php7.4-xml php7.4-zip php7.4-mbstring
Аналогично можно установить расширения для PHP 5.6 или 8.0.
Выбор версии PHP по умолчанию
Вы можете выбрать какую версию php нужно использовать по умолчанию с помощью утилиты update-alternatives. Сначала смотрим доступные версии:
После этого следует ввести номер версии, которую вы хотите использовать по умолчанию:
Или можно сразу установить php ubuntu по умолчанию:
Чтобы используемая версия обновилась в Apache нужно подключить правильный модуль и перезагрузить веб-сервер. Например, для того чтобы отключить 7.4 и включить 5.6 выполните:
sudo a2dismod php7.4
sudo a2enmod php5.6
sudo systemctl restart apache2
Установка php 8 Ubuntu выполняется так же. Теперь вы знаете как переключить версию php Ubuntu. Установка и настройка PHP вместе с Nginx отдельная обширная тема и она описана в статье про настройку PHP-FPM.
Выводы
В этой статье мы рассмотрели как выполняется установка PHP 8 ubuntu 20.04 и других версиях системы. Теперь вы знаете как установить не только PHP 8, но и другие поддерживаемые версии. Как видите, это очень просто, вы можете получить нужную версию PHP буквально в несколько кликов. Надеюсь, эта информация была вам полезной.
Installing and Configuring FastCGI and PHP-FPM on Ubuntu 18.04
mod_fcgid is an Apache module that uses the FastCGI protocol to provide an interface between Apache and Common Gateway Interface (CGI) programs. CGI helps a web server handle dynamic content generation and processing for scripting languages like PHP. This dynamic functionality is commonly used when running content management systems like WordPress on a LAMP stack.
This guide assumes that you are familiar and comfortable with setting up a LAMP stack on Ubuntu 18.04. If you are new to Linux server administration, you may be interested in reading our Linux System Administration Basics guide.
Before You Begin
Install mod_fcgid and PHP-FPM
In this section, you will install the mod_fcgid and PHP-FPM modules on your Ubuntu 18.04 Linode.
Load the mod_proxy and mod_proxy_fcgi modules by editing your main Apache configuration to add the lines included in the example. Both these modules are included by default in your Apache installation, but the must be explicitly loaded in order to use them. You will need these modules to proxy requests through mod_fcgid to your socket.
Verify that the configuration is correct:
Restart the Apache web server:
Configure Apache with PHP-FPM
You will now configure Apache to pass all requests for files with the .php extension to the PHP wrapper through FastCGI.
Configure PHP-FPM to use UNIX sockets instead of TCP. In this command, you will use grep to determine if the sockets are already being used. This command will search your php-fpm installation’s default pool configuration file for the setting:
You should see the example output:
If you see the above output, skip to step 6, otherwise continue to the next step to manually configure your UNIX sockets.
If no output is returned, you will need to edit your PHP pool configuration file by adding a listen setting with the address on which to accept FastCGI requests. Add the line in the example file.
If the listen = 127.0.0.1:9000 is not already uncommented, do so now.
Restart the php-fpm daemon for these changes to take effect.
Check for configuration errors:
Edit your FastCGI module’s configuration file to add the settings in the example file. Some of the example settings may already be included in your configuration. Add the missing settings.
Check for configuration errors:
If you received Syntax OK for steps 6 and 8, restart the Apache service:
Navigate to www.example.com/info.php to view your system’s information.
Configuring PHP Pools
PHP-FPM brings in the concept of pools. With pools, PHP-FPM can create and manage a pool of PHP processes to run PHP files from a site’s root directory. Each pool that is run by PHP-FPM can be run with separate user and group ID’s. Pools are a great way to provide more security when you are running multiple sites on one server. Running your site’s PHP scripts using dedicated user and group IDs, means that no one user can execute scripts on all sites running on your Linode. In this section you will create a pool for the domain example.com which is owned by the user bob.
Create a copy of your original pool file to use as the foundation for your example.com pool configuration.
Restart the php7.2-fpm process for the new pool to be created.
Edit the virtual host file of example.com to use your new PHP-FPM pool. Depending on your current virtual hosts file what you need to add and edit may differ. The directive and its contents is what you should add to your file. Ensure you replace any instance of example.com with your own domain name.
Check the configuration file for errors.
If there were no errors, restart Apache.
Use the command line tool, htop, to verify that PHP-FPM is running the example.com pool as the bob user and group. Replace bob with the user that you defined in your pool configuration file.
This page was originally published on Thursday, February 27, 2020.
Install and configure Apache and PHP with cgi on Ubuntu or Debian
Apache can be configured to invoke the php interpreter as cgi program. This means that the php-cgi binary shall be run externally and the php script shall be executed by it and the output would be passed back to apache. This is one way to run php with apache. Other methods include shared module, fastcgi etc. Read my previous post on php server apis to learn more about various options to run php with apache.
Since in cgi mode, php is run separately, its possible to use a threaded apache mpm like worker. In this post we shall setup apache and php together through the cgi.
Install packages
The necessary packages to install include, apache, mpm worker, php5, php cgi. Install all of them at one go using the apt-get command
Enable mod actions in apache.
If you already had apache and php installed with mod php, then you first need to disable mod php
Configure Apache
Now configure apache to run php as cgi. The configuration is done in the relevant vhost block.
The Apache virtual host configuration files are located at the following location
The default vhost file is 000-default.conf which is present on most systems.
A few necessary directives have to be added in the right directory block in the configuration file which will tell apache to use php-cgi binary to run files ending with «.php».
The directives are AddHandler, Action and ScriptAlias. A minimal configuration looks like this
The Action line tells apache to run cgi-handler using the /local-bin/php-cgi program, which is the php cgi binary. Now this path is not a real one.
The ScriptAlias line maps /local-bin to /usr/bin. So the path /local-bin/php-cgi becomes /usr/bin/php-cgi which is the actual path of the php-cgi binary on ubuntu/debian.
Now restart apache
Put a php file with phpinfo() in the web root and open from browser. The Server API shall be reported as «CGI/FastCGI».
4 thoughts on “ Install and configure Apache and PHP with cgi on Ubuntu or Debian ”
You don’t have permission to access /local-bin/php-cgi/index.php on this server.
[authz_core:error] [pid 15053] [AH01630: client denied by server configuration: /usr/bin/php-cgi
I know /usr/bin is bad. But I first want to make it run at all. If that finally works, I’ll move php to a single dir
You’re probably not aware of how much trouble you can cause with this suggestion:
ScriptAlias /local-bin /usr/bin
Как установить PHP в Ubuntu 20.04
PHP — один из наиболее часто используемых языков программирования на стороне сервера. Многие популярные CMS и фреймворки, такие как WordPress, Magento и Laravel, написаны на PHP.
В этом руководстве описаны шаги, необходимые для установки PHP в Ubuntu 20.04 и его интеграции с Nginx и Apache.
На момент написания репозитории Ubuntu 20.04 по умолчанию включают версию PHP 7.4. Мы также покажем вам, как установить предыдущие версии PHP. Прежде чем выбирать версию PHP для установки, убедитесь, что ваши приложения ее поддерживают.
Установка PHP 7.4 с Apache
Если вы используете Apache в качестве веб-сервера, выполните следующие команды для установки PHP и модуля Apache PHP:
После установки пакетов перезапустите Apache, чтобы модуль PHP загрузился:
Установка PHP 7.4 с Nginx
В отличие от Apache, Nginx не имеет встроенной поддержки обработки файлов PHP. Мы будем использовать PHP-FPM («менеджер процессов fastCGI») для обработки файлов PHP.
Выполните следующие команды, чтобы установить пакеты PHP и PHP FPM:
После завершения установки служба FPM запустится автоматически. Чтобы проверить статус службы, запустите
Теперь вы можете отредактировать блок сервера Nginx и добавить следующие строки, чтобы Nginx мог обрабатывать файлы PHP:
Не забудьте перезапустить службу Nginx, чтобы новая конфигурация вступила в силу:
Установка расширений PHP
Расширения PHP — это скомпилированные библиотеки, которые расширяют основные функции PHP. Расширения доступны в виде пакетов и могут быть легко установлены с помощью apt :
Например, чтобы установить расширения MySQL и GD, вы должны выполнить следующую команду:
После установки нового расширения PHP, в зависимости от ваших настроек, не забудьте перезапустить службу Apache или PHP FPM.
Тестирование обработки PHP
Чтобы проверить, правильно ли настроен веб-сервер для обработки PHP, создайте новый файл с именем info.php внутри каталога /var/www/html со следующим кодом:
Вы увидите информацию о своей конфигурации PHP, как показано на изображении ниже:
Установка предыдущих версий PHP
Теперь вы можете установить любую нужную версию PHP, добавив номер версии к имени пакета:
Например, чтобы установить PHP 7.1 и несколько распространенных модулей PHP, вы должны запустить:
Выводы
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Как установить PHP 8 в Ubuntu 20.04
PHP — один из наиболее широко используемых языков программирования на стороне сервера. Многие популярные CMS и фреймворки, такие как WordPress, Magento и Laravel, написаны на PHP.
PHP 8.0 — это последняя основная версия языка PHP. Он вводит несколько критических изменений, улучшения производительности и множество новых функций, таких как именованные аргументы, JIT-компилятор, типы объединения, выражение соответствия и многое другое.
Эта статья покажет вам, как установить PHP 8 в Ubuntu 20.04 и интегрировать его с Nginx и Apache.
На момент написания репозитории Ubuntu 20.04 по умолчанию включают версию PHP 7.4. Мы установим PHP из репозитория ondrej / php PPA.
Перед обновлением или установкой PHP 8 убедитесь, что ваши приложения его поддерживают.
Те же шаги применимы для Ubuntu 18.04 и всех дистрибутивов на основе Ubuntu, включая Kubuntu, Linux Mint и Elementary OS.
Включение репозитория PHP
После включения PPA вы можете установить PHP 8.
Установка PHP 8.0 с Apache
Если вы используете Apache в качестве веб-сервера, вы можете запускать PHP как модуль Apache или PHP-FPM.
Установите PHP как модуль Apache
Установить PHP как модуль Apache — простая задача:
После установки пакетов перезапустите Apache, чтобы модуль PHP загрузился:
Настройте Apache с помощью PHP-FPM
Php-FPM — это менеджер процессов FastCGI для PHP. Выполните следующую команду, чтобы установить необходимые пакеты:
По умолчанию PHP-FPM не включен в Apache. Чтобы включить его, запустите:
Чтобы активировать изменения, перезапустите Apache:
Установка PHP 8.0 с Nginx
Nginx не имеет встроенной поддержки обработки файлов PHP. Мы будем использовать PHP-FPM («менеджер процессов fastCGI») для обработки файлов PHP.
Выполните следующие команды, чтобы установить пакеты PHP и PHP FPM:
После завершения установки служба FPM запустится автоматически. Чтобы проверить статус службы, запустите
Теперь вы можете отредактировать блок сервера Nginx и добавить следующие строки, чтобы Nginx мог обрабатывать файлы PHP:
Не забудьте перезапустить службу Nginx, чтобы новая конфигурация вступила в силу:
Установка расширений PHP
Расширения PHP — это скомпилированные библиотеки, которые расширяют основные функции PHP. Расширения доступны в виде пакетов и могут быть легко установлены с помощью apt :
Например, чтобы установить расширения MySQL и GD, вы должны выполнить следующую команду:
После установки нового расширения PHP не забудьте перезапустить службу Apache или PHP FPM, в зависимости от ваших настроек.
Тестирование обработки PHP
Чтобы проверить, правильно ли настроен веб-сервер для обработки PHP, создайте новый файл с именем info.php внутри каталога /var/www/html со следующим кодом:
Вы увидите информацию о своей конфигурации PHP, подобную следующей:
Выводы
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.