Php apache postgresql linux

Содержание
  1. Php apache postgresql linux
  2. Установка и настройка apache2, php5, postgresql в ubuntu server на VPS
  3. Php apache postgresql linux
  4. PostgreSQL (Русский)
  5. Contents
  6. Установка PostgreSQL
  7. Создание Вашей первой базы данных
  8. Знакомство с PostgreSQL
  9. Доступ к оболочке базы данных
  10. Настройка удалённого доступа к PostgreSQL
  11. Настройка PostgreSQL для работы с PHP
  12. Настройка PostgreSQL для работы с HHVM
  13. Изменение кодировки новой базы данных на UTF-8 (по вашему усмотрению)
  14. Решение проблем
  15. Ускорение мелких транзакций
  16. Запретить запись на диск во время бездействия
  17. How to install Apache, PhP, Postgresql (LAPP) on Ubuntu 16.04
  18. 1 : Update your machine
  19. 2 : Install apache2
  20. 3 : Install PhP
  21. 4 : Install Postgresql
  22. 5 : (Optional) Install PhpPgAdmin
  23. 6 : (Optional) Install PgAdmin3
  24. 7 : Initialize Postgresql
  25. 8 : (If you installed PhpPgAdmin) Configure PhpPgAdmin
  26. 9 : Configure your VirtualHost
  27. 10 : Disabling autostart
  28. Установка сервера Linux + (Nginx + Apache) + PostgreSQL + PHP на VirtualBox (Ubuntu Server 16.04.3 LTS)
  29. Установим VirtualBox
  30. Подготовим VirtualBox к установке Ubuntu Server 16.04.3 LTS
  31. Установка Ubuntu Server 16.04.3 LTS
  32. Установим PuTTY, для доступа через SSH
  33. Подключение через SSH к серверу
  34. Установка и настройка (Nginx + Apache) + PostgreSQL + PHP
  35. Настроим FTP доступ к сайту

Php apache postgresql linux

тел.: +79277446722
email: site@profdev.ru
skype: d.chas

Установка и настройка apache2, php5, postgresql в ubuntu server на VPS

Эта самая простейшая заметка/подсказка по установке. Что устанавливать, в какой конфигурации, это выбираете вы. Я установлю такой набор apache2, php5, postgresql на скорую руку для купленного временного VPS для парсинга большого количества информации на мощном VPS.

Устанавливаем htop для мониторинга процессов:

sudo apt-get install htop

Устанавливаем файловый мендежер mc:

sudo apt-get install mc

Уставливаем веб-сервер apache 2:

sudo apt-get install apache2

Устанавливаем php5 и нужные пакеты:

sudo apt-get install php5-cli libapache2-mod-php5 php5-pgsql php5-gd

Настраиваем php, увеличиваем лимиты памяти и время выполнения и др.:

sudo mcedit /etc/php5/apache2/php.ini
sudo mcedit /etc/php5/cli/php.ini

Настраиваем дефолтный хост apache, мне хватит и его:

sudo mcedit /etc/apache2/sites-available/000-default.conf

Допишем в конфиг:

Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny

sudo apt-get install postgresql

Создадим базу данных и пользователя, дадим привилегии пользователю на созданную базу данных. Для этого заходим под пользователем postgres:

su postgres // не забудьте установить пароль для пользователя
psql

Создадим базу данных в postgres:

CREATE DATABASE admin_parse;

CREATE USER user_admin_parse WITH password ‘password’;

Дадим привилегии на созданную базу данных пользователю:

GRANT ALL privileges ON DATABASE admin_parse TO user_admin_parse;

Источник

Php apache postgresql linux

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

Источник

PostgreSQL (Русский)

Эта статья или раздел нуждается в переводе

Эта статья описывает как настроить PostgreSQL и интегрировать ее с PHP и Apache. Она также описывает, как сделать PostgreSQL доступным из клиента удалённого доступа. Считаем, что PHP и Apache уже установлены. Если вам нужна помощь настройки любой из этих программ, смотрите LAMP и следуйте всем разделам, кроме связанного с MySQL.

Contents

Установка PostgreSQL

  • Устанавливаем postgresql
  • Инициализируем кластер с нужной локалью (она должна быть доступна в системе). Обратите внимание, что в данном примере используем ru_RU.UTF-8
  • Если получили ошибку «Невозможно создать директорию, недостаточно прав», то изменяем владельца PGROOT директории и пробуем еще раз
  • Запускаем сервер PostgreSQL
  • Проверяем запустилось ли:
  • Дополнительно его можно добавить в автозагрузку

Создание Вашей первой базы данных

  • Становимся пользователем postgres (пользователь postgres не имеет пароля по умолчанию, поэтому таким вот образом)
  • Добавляем нового пользователя базы данных

-D Пользователь не может создавать базы данных
-R Пользователь не может создавать аккаунты
-S Пользователь не является суперпользователем
-P Запрашивать пароль при создании

С другой стороны, вы можете использовать команду createuser без параметров. Вывод в терминале выглядит так:

  • Если имя созданного пользователя совпадает с именем пользователя ($USER), вы получите доступ к базе данных оболочки PostgreSQL без указания имени пользователя (что весьма удобно).
  • Создаём новую базу данных. Создавать можно только от пользователя (например, postgres, за которого мы зашли), имеющего разрешение на чтение и запись (read/write). Если кодировку не указать, то она будет той, что вы указали в разделе «Установка PostgreSQL».
  • Вот и всё! Ваша база данных создана. Теперь можете уже под любым пользователем управлять БД:
  • Если имя базы данных И имя пользователя БД совпадают с текущим именем пользователя ($USER), то можно просто:
Читайте также:  Infinity blade для windows

Знакомство с PostgreSQL

Доступ к оболочке базы данных

  • Становимся postgres пользователем, чтобы иметь возможность задать ваши права (как у основного пользователя)
  • Запускаем основную оболочку базы данных, в которой мы сможем создавать, удалять базы данных/таблицы, задавать права и запускать команды SQL.

— Вы также можете использовать `psql ` для редактирования конкретной базы данных.

  • Список всех возможных команд (например, CREATE TABLE ) для запросов
  • Подробное описание команды
  • Подключаем определённую базу данных
  • Список всех пользователей и их уровни доступа
  • Краткая информация о всех таблицах в текущей базе данных
  • Меняем пароль
  • Показать все используемые настройки
  • Выйти из psql

Есть, конечно, много других мета-команд, но именно эти должны помочь вам начать работу.

Настройка удалённого доступа к PostgreSQL

Файл настроек сервера баз данных PostgreSQL postgresql.conf . Этот файл находится в папке данных сервера, обычно /var/lib/postgres/data . В этой же папке находятся основные файлы настроек включая и pg_hba.conf .

Из-под пользователя root редактируем файл

В разделе connections and authentications раскомментируйте или исправьте строку listen_addresses по вашему желанию на

и внимательно просмотрите другие строки.
Далее добавляем следующую строку в основной файл настройки проверки подлинности /var/lib/postgres/data/pg_hba.conf . (если вы планируете подключатся только со своего компьютера, то пропустите данный шаг) Этот файл определяет, каким хостам разрешено подключаться, так что будьте осторожны.

где your_desired_ip_address — IP-адрес клиента.

После этого необходимо перезапустить демон, чтобы изменения вступили в силу

Если возникли проблемы взгляните на лог-файл сервера

Не менее важные ошибки можно увидеть командой:

Настройка PostgreSQL для работы с PHP

  1. Установите модуль PHP-PostgreSQL
  2. Откройте файл /etc/php/php.ini в удобном для вас текстовом редакторе, например,
  3. Найдите строку, начинающуюся с ;extension=pgsql.so , и из неё уберите ; ( ; значит, что строка закомментирована). Если вы используете PDO, сделайте то же самое с ;extension=pdo.so и ;extension=pdo_pgsql.so . Если этих строк нет, добавьте их (без ; ). Эти строки надо искать в разделе файла «Dynamic Extensions» (по умолчанию) или в самом конце файла.
  4. Перезапустите веб-сервер Apache
  5. Либо, если у вас nginx + php-fpm, то

Настройка PostgreSQL для работы с HHVM

Если вы используете не ночную версию, то выполните это команду (проверено на HHVM 3.6.1), чтобы избежать ошибок компиляции:

Затем надо собрать (если улучшенная поддержка языка Hack не нужна, то уберите -DHACK_FRIENDLY=ON):

Скопируем скомпилированное расширение:

Затем в /etc/hhvm/server.ini добавляем:

Изменение кодировки новой базы данных на UTF-8 (по вашему усмотрению)

Когда создаётся новая база данных (например, createdb blog ) PostgreSQL просто копирует шаблон базы данных. Есть два стандартных шаблона: template0 — ваниль, и template1 используемый по умолчанию. Один из вариантов изменения кодировки новой базы данных, заключается в изменении шаблона template1. Для этого, заходим в оболочку PostgresSQL (psql) и делаем вот что:

1. Первое, мы должны сбросить template1. Шаблоны не могут быть сброшены, так что мы сначала изменим его, как обычную базу данных:

2. Сейчас уже можно сбросить её:

3. Создаём новую базу данных, с новой кодировкой по умолчанию из template0:

4. Теперь снова сделаем template1 шаблоном:

5. (Рекомендация) Документация по PostgreSQL advises рекомендует «замораживать» изменения шаблона функцией VACUUM FREEZE:

6. (По желанию) Если вы не хотите, чтобы кто-либо подключался к этому шаблону, присвойте параметру datallowconn значение FALSE:

Теперь вы можете создать базу данных используя стандартные команды в терминале:

Если снова войти в PSQL и проверить базу данных, вы должны увидеть правильную кодировку новой базы данных:

Решение проблем

Ускорение мелких транзакций

Если вы используете PostgreSQL на своей локальной машине для разработки и он медленный, то можете попробовать отключить synchronous_commit в конфигурации. Однако, не забывайте про его особенности.

Запретить запись на диск во время бездействия

PostgreSQL периодически обновляет свою статистику, лежащую в файле. По умолчанию этот файл находится на диске, что не даёт отдыхать (и изнашивает) жёсткому диску, заставляя его шуршать. Однако можно легко и безопасно поменять локацию файла внутрь ФС (/run) расположенной в ОЗУ с помощью такой настройки:

Источник

How to install Apache, PhP, Postgresql (LAPP) on Ubuntu 16.04

Nov 2, 2017 · 3 min read

In one way or another, you will need to install a web server locally on your machine.
I always hate that part because I never use the same OS or the same version of it. And so the packages, the way to install and configure it, are never the same.
I also never remember the things that I should do to get a nice workspace.

So in this guide, I will share with you 10 steps for installing a nice web server locally on Ubuntu 16.04.

It also should works on different version or distribution but I did not test them all. Just comment this article if you tried it on an other version than mine.

I also disable the autostart of apache and postgresql to avoid using resources for nothing.

1 : Update your machine

2 : Install apache2

3 : Install PhP

4 : Install Postgresql

I prefer Postgresql, but I’m pretty sure that you can replace that part by MySQL or your favorite database easily.

5 : (Optional) Install PhpPgAdmin

6 : (Optional) Install PgAdmin3

7 : Initialize Postgresql

8 : (If you installed PhpPgAdmin) Configure PhpPgAdmin

9 : Configure your VirtualHost

Just start by c reating a directory where you will put all your local websites

Читайте также:  Оптимизация диска для linux

Then, we create a new conf file for our VirtualHost

Add to this file the following block. Of course, adapt the path, the email address and the server name url to what please you.

Once you’ve done this, run these two commands. It gonna prepare your conf file and reload apache2 in order to consider this new configuration.

Finally, open your hosts file.

And simply, add this line.

10 : Disabling autostart

I don’t want my webserver start each time I boot my computer. So I deciding to disable the autostart and create a little script that gonna start it or not.

First, disable apache2 and postgresql on start.

I want something easy to use to start my webserver. So create a new script file

Add the following block to it. It simply runs the commands one after the other that start, stop or restart this services.

Add the permission to execute this script and open your .bashrc.

Now, create an alias with the link to your script

Et voilà !
You can now stop, start or restart easily your webserver.

Источник

Установка сервера Linux + (Nginx + Apache) + PostgreSQL + PHP на VirtualBox (Ubuntu Server 16.04.3 LTS)

На просторах интернета не нашел единого рецепта по установке и настройке такого, довольно нестандартного сервера. Решил написать свой рецепт.

Принцип работы следующий:


Статические данные (файлы) отдает Nginx, а динамикой занимается Apache.
Начнем.

Установим VirtualBox

    Запустим установщик VirtualBox.


Настройки оставим по умолчанию.


Установщик временно отключит нас от сети. Жмем «Yes».

  • Начинаем установку.
  • Финиш.

    Подготовим VirtualBox к установке Ubuntu Server 16.04.3 LTS

    1. Загрузим образ ubuntu-16.04.3-server-amd64.iso
    2. Создадим виртуальную машину.


    Имя: default_server
    Тип: Linux
    Версия: Ubuntu (64-bit)
    Объем оперативной памяти: 2048 МБ

    Важно: У меня 8 ГБ оперативной памяти, и в моем случае, двух гигабайт будет достаточно. У вас может быть иначе.


    Размер жесткого диска: 15 ГБ
    Другие параметры оставим по умолчанию.


    Жмем «Создать».

    Сразу настроим сеть.


    Сменим тип подключения с NAT на Сетевой мост.


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

    Установка Ubuntu Server 16.04.3 LTS

      Выберем загрузочный диск с образом Ubuntu Server 16.04.3 LTS.


    Выбираем удобный язык, у меня это русский.


    Жмем «Enter».
    Выбираем «Установить Ubuntu Server».


    Выбираем страну.

    Важно: Читайте подсказку внизу экрана.

    Я не буду определять раскладку клавиатуры, мне это не нужно.


    Выбираем страну для которой предназначена клавиатура.


    Выбираем регион раскладки.


    Выбираем комбинацию клавиш, для переключения языка. Мне удобно через CTRL+
    SHIFT.


    Введем имя компьютера, под которым он будут известен в сети.


    Вводим имя админа.


    Вводим имя учетной записи админа (Будет использоваться как логин для входа в систему).


    Вводим пароль от учетной записи админа.


    Повторяем пароль.


    Почему бы и нет.


    Выбираем часовой пояс.


    Пусть система автоматически использует весь диск.


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


    Записываем изменения на диск.


    У нас нету прокси, оставляем поле пустым и продолжаем.


    Пусть система сама устанавливает обновления безопасности.


    Выбираем набор программ, которые будут установлены вместе с системой.
    Нам будет достаточно стандартного набора и OpenSSH Server.


    Установим GRUB главным.


    Отлично, почти готово.


    Нам нужно изъять диск из привода.
    Устройства -> Оптические диски -> Изъять диск из привода


    Теперь жмем продолжить.
    Прекрасно, Ubuntu Server установлена.


    Вводим логин, следом пароль, попадаем в систему, все окей.
    Выключим нашу машину:
    poweroff
    Конкретно эту машину мы оставим в покое, и будем использовать только для клонирования.
    Клонируем нашу машину:
    Вводим имя.


    Продолжаем.
    Выбираем полное клонирование.


    Жмем клонировать. У меня клонирование длилось две минуты.

    Установим PuTTY, для доступа через SSH

      Запустим установочный файл.


    Настройки оставим по умолчанию.


    Жмем «Install».
    Финиш.

    Подключение через SSH к серверу

      Запустим клон нашей машины, что бы узнать ее ip адрес.
      Напишем команду:
      ifconfig


    На скриншоте я отметил место, где будет написан ваш ip адрес. У меня это: 192.168.0.103 (может смениться, пока писал статью, у меня сменился на 192.168.0.101).
    Теперь можно выйти из учетной записи, написав:
    exit

    Переходим в PuTTY, вводим ip адрес, и имя для сохраняемой сессии.


    Жмем «Save».

    Теперь, при двойном клике по имени сохраненной сессии.


    Мы должны наблюдать следующее:


    Вводим логин, после пароль.
    SSH соединение успешно настроено, теперь можно приступать к настройке (Nginx + Apache) + PostgreSQL + PHP.

    Установка и настройка (Nginx + Apache) + PostgreSQL + PHP

    Перейдем в режим суперпользователя
    sudo su
    Перейдем в корневой каталог
    cd /
    Добавим репозиторий PostgreSQL
    wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O — | sudo apt-key add —

    sh -c ‘echo «deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main» >> /etc/apt/sources.list.d/pgdg.list’
    Добавим репозиторий PHP
    add-apt-repository ppa:ondrej/php
    Сделаем update
    apt-get update
    Сделаем upgrade
    apt-get upgrade
    У меня upgrade длился пять минут.
    У становим python, он нам позже понадобится
    apt-get install python
    Приступим к установке Apache, PHP и PostgreSQL
    apt-get install apache2 php7.2 php7.2-cli php7.2-curl php7.2-fpm php7.2-pgsql postgresql postgresql-contrib postgresql-server-dev-10 libapache2-mod-rpaf build-essential apache2-dev
    По умолчанию, в PostgreSQL нету однобайтовых и беззнаковых чисел, поэтому мы их установим.
    Есть расширение для PostgreSQL, pguint — github.com/petere/pguint
    git clone https://github.com/petere/pguint.git /pguint
    Перейдем в созданный каталог
    cd /pguint
    Теперь нам нужно скомпилировать это расширение (тут понадобится python, который мы установили ранее).
    make

    make install
    Теперь, на сервер PostgreSQL, в нужную базу данных, где хотим использовать беззнаковые и однобайтовые числа, отправим:

    Вернемся в корневой каталог
    cd /
    Установим Nginx, но перед этим остановим Apache, дабы он не занимал порт 80, иначе Nginx не установится.
    service apache2 stop
    Установка Nginx
    apt-get install nginx
    Отлично, теперь остановим и Nginx
    service nginx stop
    Настройка Apache
    a2dismod mpm_event

    a2enconf php7.2-fpm
    Сменим порт Apache
    nano /etc/apache2/ports.conf
    Заменить

    127.0.0.1 — означает то, что к Apache можно обратиться только по локальному адресу.
    8080 — можете поставить любой свободный порт.
    Перейдем в папку с доступными сайтами
    cd /etc/apache2/sites-available
    Создадим конфигурационный файл нашего сайда
    nano domain-name.local.conf
    И привести его к такому виду:

    Посмотрим, что у нас лежит в /var/www
    cd /var/www/

    ls -F
    Папка html, нам более не нужна, удалим ее вместе с содержимым
    rm -R html
    Создадим свою папку, со своим сайтом
    mkdir domain-name.local/
    Перейдем в папку с нашим сайтом
    cd domain-name.local/
    Создадим документ index.pnp
    nano index.php
    В него запишем:

    С этим пока закончили.
    Вернемся в корневой каталог
    cd /
    В apache стоит rpaf 0.6 и он не передаёт/принимает порт от nginx и не работает правильно, как надо. Поэтому его надо обязательно обновить.
    wget -O rpaf_v0.8.4.tar.gz https://github.com/gnif/mod_rpaf/archive/v0.8.4.tar.gz

    tar xvf rpaf_v0.8.4.tar

    cd mod_rpaf-0.8.4/
    Теперь скомпилируем
    make

    make install
    Выходим в корневой каталог
    cd /
    Хорошо, продолжим настройку Apache.
    nano /etc/apache2/apache2.conf
    Заменить

    Приведем в порядок rpaf.conf
    nano /etc/apache2/mods-available/rpaf.conf
    Приведем его к такому виду:

    Включим наш сайт в Apache.
    a2ensite domain-name.local.conf
    И запустим наш Apache.
    service apache2 start
    C Apache закончили.
    Настроим Nginx
    nano /etc/nginx/sites-available/domain-name.local
    Привести к такому виду:

    Теперь создадим символьную ссылку на этот файл
    ln -s /etc/nginx/sites-available/domain-name.local /etc/nginx/sites-enabled/domain-name.local
    Отредактируем /etc/nginx/sites-available/default
    nano /etc/nginx/sites-available/default
    Уберем default_server.
    И вставим перенаправление с www. и ip

    Запускаем Nginx.
    service nginx start
    Отлично, можем проверить как оно работает.
    Но перед этим отредактируем файл хоста C:\Windows\System32\drivers\etc
    Открыть файл hosts через текстовый редактор, и в самый низ вставить:
    192.168.0.101 domain-name.local
    192.168.0.101 www.domain-name.local
    Заменив ip и домен на свои.
    В браузере перейдем по domain-name.local, и если вы делали все по этому рецепту, мы должны увидеть страницу с phpinfo.
    Отлично, дело осталось за малым.
    Настроим PostgreSQL.
    Создадим нового пользователя PostgreSQL
    sudo -u postgres createuser —superuser test-user
    Войдем в СУБД
    sudo -u postgres psql
    И сменим новому пользователю пароль
    \password test-user
    Теперь новому пользователю нужно сменить тип подключения, для этого нам нужно найти pg_hba.conf файл.
    Пишем


    Покидаем СУБД
    \q
    И начинаем редактировать /etc/postgresql/10/main/pg_hba.conf
    nano /etc/postgresql/10/main/pg_hba.conf
    Ищем
    # Database administrative login by Unix domain socket
    Находим следующее:
    # Database administrative login by Unix domain socket
    local all postgres peer
    Приводим к таком виду:
    # Database administrative login by Unix domain socket
    local all postgres peer
    local all test-user md5
    Перезагрузим PostgreSQL
    service postgresql restart
    Теперь войдем в СУБД через нового пользователя
    psql test-user -h 127.0.0.1 -d postgres
    Вводим пароль, и попадаем в СУБД.
    Создадим тестовую базу данных

    И сразу перейдем в нее
    \c test_db
    Подключим расширение pguint

    И создадим тестовую таблицу

    Заполним таблицу тестовыми данными

    Посмотрим содержимое таблицы test_tb

    Теперь попробуем вывести эти данные из php.
    Закрываем соединение с СУБД
    \q
    Откроем /var/www/domain-name.local/index.php
    nano /var/www/domain-name.local/index.php
    И приведем к следующему виду:
    «; ?>

    Теперь проверим, и убедимся, что это работает


    Отлично, мы настроили (Nginx + Apache) + PostgreSQL + PHP и он исправно работает.

    Настроим FTP доступ к сайту

    Установим FTP сервер
    apt-get install vsftpd
    Остановим vsftpd перед настройкой
    service vsftpd stop
    Откроем etc/vsftpd.conf
    nano etc/vsftpd.conf
    Установить/заменить/переключить следующие параметры:

    1. listen=YES
    2. listen_ipv6=NO
    3. local_enable=YES
    4. write_enable=YES
    5. chroot_local_user=YES
    6. pam_service_name=ftp

    Создадим нового пользователя для доступа через FTP
    useradd -d /home/domain-name -s /sbin/nologin domain-name
    Установим для него пароль
    passwd domain-name
    Создадим домашнюю директорию пользователя
    mkdir -p /home/domain-name
    Установим для нее права
    chmod a-w /home/domain-name
    Создадим группу для пользователя
    groupadd ftps
    Добавим пользователя в группу
    usermod -G ftps domain-name
    Поменяем владельца каталога
    chown -R domain-name:ftps /home/domain-name
    Создадим папку нашего сайта
    mkdir /home/domain-name/domain-name.local
    Сменим у нее владельца
    chown -R domain-name:ftps /home/domain-name/domain-name.local
    Смонтируем наши каталоги, откроем файл /etc/fstab
    nano /etc/fstab
    В самый низ вставим
    /var/www/domain-name.local /home/domain-name/domain-name.local none bind 0 0
    Добавим владельца /var/www/domain-name.local
    chown www-data:domain-name /var/www/domain-name.local/ -R
    Назначим права
    find /var/www/domain-name.local -type d -exec chmod 775 <> \;
    find /var/www/domain-name.local -type f -exec chmod 664 <> \;
    И запустим vsftpd
    service vsftpd start
    Проверим, я буду использовать FileZilla.


    Все хорошо, попробуем создать каталог.


    Работает.
    Настроим защищенное FTP соединение.
    Остановим vsftpd
    service vsftpd stop
    Сгенерируем сертификат
    openssl req -x509 -nodes -days 720 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.key -out /etc/ssl/private/vsftpd.pem
    Тут вводим все, что вшей душе угодно

    Country Name (2 letter code) [AU]:
    State or Province Name (full name) [Some-State]:
    Locality Name (eg, city) []:
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:
    Organizational Unit Name (eg, section) []:
    Common Name (e.g. server FQDN or YOUR name) []:
    Email Address []:

    Откроем etc/vsftpd.conf
    nano etc/vsftpd.conf
    Установим/добавим следующие параметры:

    1. ssl_enable=YES
    2. ssl_tlsv1=YES
    3. ssl_sslv2=NO
    4. ssl_sslv3=NO
    5. rsa_cert_file=/etc/ssl/private/vsftpd.pem
    6. rsa_private_key_file=/etc/ssl/private/vsftpd.key
    7. allow_anon_ssl=NO
    8. force_local_data_ssl=YES
    9. force_local_logins_ssl=YES
    10. ssl_ciphers=HIGH

    Сохраним и запустим vsftpd
    service vsftpd start
    Давайте испытаем

    Ура, все работает, можно приступать к разработке веб приложения.

    Источник

    Читайте также:  Как подключить ноутбук linux
  • Оцените статью