Linux apache postgresql php

Linux apache postgresql php

1. Устанавливаем Ubuntu, и дополнительно устанавливаем поддержку OpenSSH-Server

2. Установка статического адреса
Команда: sudo nano /etc/network/interfaces
iface eth0 inet static
address 192.168.0.100
netmask 255.255.255.0
gateway 192.168.0.1

3. Накатываем последные обновления
Команда: sudo apt-get upgrade

4. Установка PostgreSQL
Команда: sudo apt-get install postgresql php5-pgsql

5. Устанавливаем пароль для пользователя postgres
Команда: sudo -u postgres psql template1
# ALTER USER postgres WITH PASSWORD ‘NewAdminDatabasePassword’;
# \q

6. Сетевая настройка PostgreSQL
Команда: sudo nano /etc/postgresql/8.4/main/pg_hba.conf
host all all 192.168.0.1/24 md5
Команда: sudo nano /etc/postgresql/8.4/main/postgresql.conf
listen_addresses = ‘*’

7. Перегружаем PostgreSQL
Команда: sudo /etc/init.d/postgresql restart

8. Устанавливаем Апач
Команда: sudo apt-get install apache2 libapache2-mod-php5 php5-gd
Команда: sudo apt-get install curl php5-curl php5-xmlrpc
Команда: sudo apt-get install php5-ldap php5-odbc

9. Настраиваем хосты для Апача
Команда: sudo nano /etc/apache2/sites-available/default

ServerName mydomain.com
ServerAlias *.mydomain.com
DocumentRoot /var/www/mydomain.com/www
DirectoryIndex index.php index.php4 index.php3 index.cgi index.pl index.html index.htm index.shtml index.phtml
CustomLog /var/www/mydomain.com/log/access.log combined
ErrorLog /var/www/mydomain.com/log/error.log

10. Перегружаем Апач
Команда: sudo /etc/init.d/apache2 restart

11. Устанавливаем вспомогательное ПО
Команда: sudo apt-get install mc unzip zip aspell-en aspell-fr aspell-de aspell-es aspell-ru

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Установка Ubuntu+Apache+PHP+PostgreSQL

Реклама на форуме Ru.Board.

Powered by Ikonboard «v2.1.7b» © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2023

Источник

How to install LAPP (Apache + PHP + PostgreSQL) on Ubuntu 20.04

There are many combinations of programs and servers in Linux. Of all of them, the LAMP or LEMP stack is one of the most known and popular but some prefer PostgreSQL over MariaDB / MySQL. So, in this post, you will learn how to install the LAPP stack on Ubuntu 20.04

This stack also provides us with a functional server but with a different database manager like PostgreSQL. This database handler is maybe the most powerful in the world in open source. So it is normal that many want to make the change.

How to install LAPP on Ubuntu 20.04

1.- Install Apache web server on Ubuntu 20.04

The first step is to install the Apache webserver which is one of the most secure and reliable servers within Linux. Together with Nginx, they are one of the most popular in the world.

So, open a terminal or SSH session and run it:

Then, start the service and enable it to start with the system:

sudo systemctl start apache2
sudo systemctl enable apache2

Finally, you can open a web browser and go to the following address http://your-server or http://ip-server and you will see Apache’s default page.

Apache Default page on Ubuntu 20.04

This indicates that the installation has been successful.

2.- Install PHP on Ubuntu 20.04

Now the next component is PHP which is a very popular programming language in the web environment. Therefore, it must be installed along with some of its fundamental modules.

php7.4 libapache2-mod-php7.4 openssl php-imagick php7.4-common php7.4-curl php7.4-gd php7.4-imap php7.4-intl php7.4-json php7.4-ldap php7.4-mbstring php7.4-pgsql php-ssh2 php7.4-xml php7.4-zip unzip

Now to prove that PHP and Apache are working properly, let’s make a test file.

sudo nano /var/www/html/test.php

And add the following content:

Save the changes and close the editor.

sudo systemctl restart apache2

Then open it from your web browser, for example http://your-server/test.php

PHPinfo method

If you manage to see a page with the PHP information, then both are working correctly.

3.- Install PostgreSQL on Ubuntu 20.04

PostgreSQL is one of the most advanced and modern relational database managers out there. It is always shown as the immediate competitor of MySQL and MariaDB in the segment of open source and community database managers.

One of the main advantages of using PostgreSQL is that it has extensive documentation and supports powerful features. All this in an open-source and free application.

Installing PostgreSQL is quite simple and we explain it in detail in this post:

And so you have the LAPP stack ready to work.

Conclusion

The LAMP stack is one of the popular and famous ones that exist but it is not the only one. Now we present you an alternative that changes to MySQL / MariaDB by PostgreSQL in a fast and easy way and forming the LAPP stack that is quite used too

Источник

Astra Linux + Apache + PHP + PostgreSQL

Обновлено и опубликовано

Опубликовано: 17.04.2023

  • Веб-сервера Apache.
  • Интерпретатора PHP 7.
  • СУБД Postgres Pro / PostgreSQL (рассмотрим оба варианта) версии 14.
  • PhpPgAdmin для управления PostgreSQL.

В моем примере использовался дистрибутив Орел. С большой долей вероятности, команды будут работать для SE.

Предварительная настройка

Прежде чем начать установку и настройку сервера, выполним следующие действия.

1. Обновление списка пакетов в репозитории

Для корректной установка пакетов из репозитория необходимо обновить его кэш. Для этого вводим команду:

На чистой системе также стоит обновить все пакеты:

2. Настройка времени

Для веб-сервера важно, чтобы системное время было правильное.

Сначала зададим правильный часовой пояс:

timedatectl set-timezone Europe/Moscow

* в данном примере будет установлено московское время.

Полный список часовых поясов можно посмотреть командой:

Устанавливаем утилиту для синхронизации времени:

3. Настройка брандмауэра

По умолчанию, в большинстве систем на основе deb брандмауэр настроен в режиме «Разрешить все», и он не требует никакой настройки. Если в нашей системе брандмауэр не настроен на запрет пакетов, то настройки из данного раздела выполнять не обязательно.

iptables -I INPUT -p tcp —dport 80 -j ACCEPT

Если мы планируем использовать https, то также открываем 443 порт:

iptables -I INPUT -p tcp —dport 443 -j ACCEPT

Для сохранения правил используем команду:

Чтобы настройки применились после перезагрузки сети или сервера, создаем файл:

И разрешаем его запуск на выполнение:

chmod +x /etc/network/if-pre-up.d/iptables

Apache

Установим веб-сервер командой:

Запрещаем модуль mpm_event:

* по умолчанию, apache2 может быть установлен с модулем мультипроцессовой обработки mpm_event. Данный модуль устарел и не поддерживает php 7 и выше, которая является наиболее актуальной и устанавливается по умолчанию.

Разрешаем модуль мультипроцессовой обработки mpm_prefork:

Если ваш сайт работает только на устаревшей версии PHP, то модуль мультипроцессовой обработки mpm_event нужно оставить, а модуль mpm_prefork нет необходимости активировать.

Для применения настроек перезапускаем веб-сервер:

systemctl restart apache2

Проверим работоспособность apache. Для этого откроем браузер и перейдем по адресу http:// — должна открыться стартовая страница Apache:

Стартовая страница веб-сервера Apache

* в нашем примере мы настроим доступ к серверу только по http. Для настройки https читайте инструкцию Настройка Apache + SSL для работы сайта по HTTPS.

При получении ошибки 500 Internal Server Error, смотрим в лог:

Скорее всего, мы увидим ошибку:

. Authentication not configured

Проблема в том, что в Astra Linux веб-сервер Apache требует предварительной аутентификации. Для решения проблемы открываем конфигурационный файл:

systemctl restart apache2

Веб-сервер установлен. Идем дальше.

PHP

Устанавливаем интерпретатор php и модуль для связки apache и php:

apt install php libapache2-mod-php

Будет установлена нативная версия PHP для используемой операционной системы. То есть, будет взята самая последняя версия, доступная в репозитории. Посмотреть версию PHP после установки можно командой:

PHP 7.0.33-0+deb9u12+astra1 (cli) (built: Apr 8 2022 22:40:22) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
with Zend OPcache v7.0.33-0+deb9u12+astra1, Copyright (c) 1999-2017, by Zend Technologies

Теперь открываем настройку модуля dir:

И добавляем впереди индексных файлов index.php:

* если не указан конкретный скрипт, сначала веб-сервер пытается найти и запустить index.php, затем index.html и так далее.

Разрешаем модуль для установленной версии PHP:

Для применения настроек перезапустим апач:

systemctl restart apache2

Для проверки создадим файл:

Снова переходим по адресу http:// — теперь мы должны увидеть страницу с подробной информацией о PHP:

Страница с информацией о PHP

Связка Apache + PHP настроена.

СУБД

Мы рассмотрим установку PostgreSQL в двух вариантах — российский Postgres Pro и ванильный PostgreSQL.

а) Postgres Pro

Postgres Pro хорошо подходит для Astra Linux — она без проблем устанавливается на данную систему. Сначала необходимо настроить репозиторий. Разработчик предоставляет готовый скрипт — скачаем его командой:

curl -o pgpro-repo-add.sh https://repo.postgrespro.ru/pgpro-14/keys/pgpro-repo-add.sh

* обратите внимание, что в нашем примере мы хотим установить postgresql версии 14. Если вам нужна другая версия, заменить ее.

Команда может выдать ошибку, если не установлен curl. Исправить это можно так:

Выполним скачанный скрипт:

Теперь можно установить postgres pro:

apt install postgrespro-std-14

Сервис будет автоматически запущен, а также будет инициализирована база. В данной инструкции мы не будет рассматривать, как работать с СУБД, но в конце я приведу список полезных материалов по работе с PostgreSQL.

б) PostgreSQL

Ванильный PostgreSQL устанавливается одной командой, но в репозитории Astra Linux доступна только старая версия. Установить более свежую версию PostgreSQL на данную систему потребует ручной установки некоторых пакетов из сторонних репозиториев и не будет рассмотрено в рамках данной инструкции.

И так, нам нужно ввести одну команду:

Сервис будет автоматически запущен, а также будет инициализирована база.

PostgreSQL + PHP

Мы можем обращаться к PostgreSQL из PHP с помощью функции pg_connect или PDO (PHP Data Objects). В зависимости от этого нам нужно поставить либо один пакет, либо другой.

а) Для работы с помощью pg_connect:

б) Для работы через PDO:

Для применения настроек перезапускаем веб-сервер.

systemctl restart apache2

PhpPgAdmin

Дополнительно, добавим на наш сервер веб-инструмент для работы с базой PostgreSQL. К сожалению, данный инструмент не работает с Postgres Pro. Также есть некоторые нюансы установки и запуска. Обо всем по порядку.

Сначала установим git (он понадобиться для загрузки проекта phppgadmin):

Теперь клонируем сам проект phppgadmin:

git clone https://github.com/phppgadmin/phppgadmin.git /var/www/html/phppgadmin

* в нашем примере мы берем с официального репозитория проект phppgadmin и помещаем его в каталог /var/www/html/phppgadmin.

Задаем в качестве владельца созданного каталога с файлами пользователя www-data:

chown www-data:www-data -R /var/www/html/phppgadmin

Копируем шаблон конфигурационного файла в config.inc.php и помещаем в каталог conf:

cp /var/www/html/phppgadmin/conf/config.inc.php-dist /var/www/html/phppgadmin/conf/config.inc.php

Открываем его на редактирование:

Приводим опцию $conf[‘servers’][0][‘host’] к виду:

* в данном примере мы указываем, что будем подключаться к серверу PostgreSQL по сети, адресу локальной петли.

Комментируем следующие строки:

// if (version_compare(phpversion(), $phpMinVer, ‘ <'))
// exit(sprintf(‘Version of PHP not supported. Please upgrade to version %s or later.’, $phpMinVer));

* для работы PhpPgAdmin требуется PHP версии 7.2 и выше. В нашем же примере устанавливается PHP версии 7.0. Установить более свежую версию в Astra Linux — дело отдельной инструкции, поэтому для решения проблемы мы просто комментируем часть кода, которая отвечает за проверку версии PHP. Это очень плохое решение, но ничего лучше я не нашел.

Устанавливаем расширение PHP mbstring:

systemctl restart apache2

Переходим по адресу http:///phppgadmin — откроется страница портала управления PostgreSQL.

Тюнинг

Внесем небольшие изменения в нашу конфигурацию PHP:

  • post_max_size — максимальный объем отправляемых на сервер данных;
  • upload_max_filesize — максимально допустимый размер одного загружаемого файла;
  • short_open_tag — разрешение использования короткого способа открытия php ();
  • date.timezone — временная зона, которая будет использоваться веб-сервером, если ее не переопределить настройками в коде php или в файле .htaccess.

Данные изменения вносятся в разные файлы в зависимости от версии PHP. Например, для нашей php версии 7.0 мы открываем на редактирование следующий файл:

post_max_size = 1G
.
upload_max_filesize = 512M
.
short_open_tag = On
.
date.timezone = «Europe/Moscow»

systemctl restart apache2

Читайте также

Другие полезные материалы:

Источник

Читайте также:  Linux auto mount partitions
Оцените статью
Adblock
detector