Архив метки: Настойка OpenSUSE

Установка и настройка PureFTPd с MySQL на VPS OpenSUSE Linux

Pure-FTPd является свободным (BSD), безопасным, производственно-качественным и стандарт-совместимым FTP -сервером, который активно поддерживается и разработан с учетом требований безопасности. Он фокусируется на эффективности, простоте использования и предоставляет простые решения, плюс уникальные полезные функции для персональных пользователей, особенно на серверах Linux VPS, а также для хостинг -провайдеров. Pure-FTPd даже может работать 100% без root, с его встроенным root() эмуляцией и виртуальных аккаунтов.



На этом уроке мы покажем вам, как настроить Pure-Ftpd так, что он использует виртуальных пользователей из базы данных MySQL вместо реальных пользователей системы. Эта конфигурация является гораздо более производительным и позволит вам иметь тысячи пользователей FTP на одном сервере.

Мы также установим PhpMyAdmin для того, чтобы легко администрировать созданные базы данных.

Обновим систему

Войдем на сервер как пользователь «root» и убедимся, что ваш OpenSUSE VPS полностью обновлен:

ssh root@hostname

zypper ref

zypper up

 

Установим apache2, MariaDB (MYSQL) и PhpMyAdmin

Установка Apache2, MariaDB и PhpMyAdmin с соответствующими зависимостями с помощью следующей команды:

zypper install mariadb mariadb-client apache2 apache2-mod_php5 php5-mysql php5-mcrypt php5-mbstring php5-gd

 

Запустить и добавить MariaDB к загрузке вашей системы:

chkconfig -a mysql

systemctl start mysql.service

 

Мы рекомендуем Вам запустить mysql_secure_installation и завершим установку MariaDB:

mysql_secure_installation

 

Создание автозапуска системы ссылки для Apache (так, чтобы он автоматически запускается всякий раз, когда загружается система) и запустим его с помощью следующих команд:

systemctl enable apache2.service

systemctl start apache2.service

 

Затем установите PhpMyAdmin:

zypper install phpmyadmin

 

Чтобы получить доступ к PhpMyAdmin вам нужно изменить файл /etc/apache2/conf.d/phpMyAdmin.conf используя текстовый редактор и добавить следующие строки в самом начале файла:

vim /etc/apache2/conf.d/phpMyAdmin.conf



Alias /phpMyAdmin /srv/www/htdocs/phpMyAdmin

Alias /phpmyadmin /srv/www/htdocs/phpMyAdmin

 

Перейдите в каталог PhpMyAdmin и включите файл в config.inc.php:

cd /srv/www/htdocs/phpMyAdmin



cp config.sample.inc.php config.inc.php

 

Файл config.inc.php ожидает существующую базу данных PhpMyAdmin. С помощью следующих команд вы можете создать базу данных PhpMyAdmin и импортировать таблицы по умолчанию из PhpMyAdmin:

echo "create database phpmyadmin;" | mysql -u root -p 'yourpassword'



mysql -u root -p 'yourpassword' < /usr/share/doc/packages/phpMyAdmin/examples/create_tables.sql

 

Перезапустите Apache:

systemctl restart apache2.service

 

Теперь вы можете использовать ваш веб-браузер и PhpMyAdmin доступа путем перехода http://your_IP_address/phpmyadmin или http://yourdomain/phpmyadmin. Вы увидите страницу приветствия:

PhpMyAdmin

УСТАНОВИТЬ PURE-FTPd

Теперь установите PureFTPd, выполнив следующую команду:

zypper install pure-ftpd

 

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

groupadd -g 2525 ftpgroup

useradd -u 2525 -s /bin/false -d /bin/null -c "pureftpd user" -g ftpgroup ftpuser

 

Следующее, что вам нужно сделать, это создать базу данных для PureFTPd. Войдите в MySQL как root:

mysql -u root -p





MariaDB [(none)]> CREATE DATABASE pureftpd;



MariaDB [(none)]> GRANT ALL PRIVILEGES on pureftpd.* TO 'ftpuser'@'localhost' IDENTIFIED BY 'your_password';



MariaDB [(none)]> FLUSH PRIVILEGES;

 

Замените строку your_password на пароль по своему вкусу.

В то время как вы все еще в MySQL давайте создадим таблицу базы данных, необходимую для хранения виртуальных учетных данных пользователей. Введите следующее:

MariaDB [(none)]> USE pureftpd;



MariaDB [pureftpd]> CREATE TABLE `ftpd` (

User varchar(16) NOT NULL default '',

status enum('0','1') NOT NULL default '0',

Password varchar(64) NOT NULL default '',

Uid varchar(11) NOT NULL default '-1',

Gid varchar(11) NOT NULL default '-1',

Dir varchar(128) NOT NULL default '',

ULBandwidth smallint(5) NOT NULL default '0',

DLBandwidth smallint(5) NOT NULL default '0',

comment tinytext NOT NULL,

ipaccess varchar(15) NOT NULL default '*',

QuotaSize smallint(5) NOT NULL default '0',

QuotaFiles int(11) NOT NULL default 0,

PRIMARY KEY (User),

UNIQUE KEY User (User)

)  ENGINE=InnoDB;





MariaDB [pureftpd]> exit

 

Все выглядит нормально пока. Давайте изменим конфигурационный файл PureFTPd с некоторыми рекомендованными изменениями. С помощью текстового редактора откройте файл etc/pure-ftpd/pure-ftpd.conf:

vim etc/pure-ftpd/pure-ftpd.conf

 

Оказавшись там, убедитесь, что линии ChrootEveryone, AnonymousOnly, MySQLConfigFile и CreateHomeDir включены и выглядит следующим образом:

pureftpconf

Установка ChrootEveryone необходима потому, что он будет делать PureFTPd root каждый виртуальный пользователь в своем домашнем каталоге, тем самым ограничивая его просмотр каталогов и файлов только в его домашнем каталоге. CreateHomeDir линия позволит PureFTPd создать домашний каталог пользователя, когда пользователь входит в систему и домашний каталог еще не существует. AnonymousOnly должен быть установлен на нет, потому что в противном случае только анонимные сеансы FTP будут разрешены.

Затем создайте/отредактируйте файл /etc/pure-ftpd/pureftpd-mysql.conf:

vim /etc/pure-ftpd/pureftpd-mysql.conf

 

И вставьте следующее:

MYSQLSocket      /var/run/mysql/mysql.sock

MYSQLServer     localhost

MYSQLPort       3306

MYSQLUser       ftpuser

MYSQLPassword   your_password

MYSQLDatabase   pureftpd

#MYSQLCrypt md5, cleartext, crypt() or password() - md5 is VERY RECOMMENDABLE uppon cleartext

MYSQLCrypt      md5

MYSQLGetPW      SELECT Password FROM ftpd WHERE User="L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "R")

MYSQLGetUID     SELECT Uid FROM ftpd WHERE User="L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "R")

MYSQLGetGID     SELECT Gid FROM ftpd WHERE User="L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "R")

MYSQLGetDir     SELECT Dir FROM ftpd WHERE User="L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "R")

MySQLGetBandwidthUL SELECT ULBandwidth FROM ftpd WHERE User="L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "R")

MySQLGetBandwidthDL SELECT DLBandwidth FROM ftpd WHERE User="L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "R")

MySQLGetQTASZ   SELECT QuotaSize FROM ftpd WHERE User="L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "R")

MySQLGetQTAFS   SELECT QuotaFiles FROM ftpd WHERE User="L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "R")

 

Заменим строку ваш_пароль реальным паролем для пользователя ftpuser MySQL в строке MYSQLPassword. Мы будем использовать md5 как метод MYSQLCrypt, что означает, что MySQL будет хранить пароли пользователей в виде строки MD5 в базе данных, которая является гораздо более безопасным, чем использование простых текстовых паролей.

Теперь мы создадим ссылки для запуска системы PureFTPd и запустим его:

systemctl enable pure-ftpd

systemctl start pure-ftpd

 

Давайте заполним базу данных с помощью оболочки MySQL. Войдите в систему как root:

mysql -u root -p



MariaDB [(none)]> USE pureftpd;



MariaDB [pureftpd]> INSERT INTO `ftpd` (`User`, `status`, `Password`, `Uid`, `Gid`, `Dir`, `ULBandwidth`, `DLBandwidth`, `comment`, `ipaccess`, `QuotaSize`, `QuotaFiles`) VALUES ('testuser', '1', MD5('AndreyEx'), '2525', '2525', '/home/www.examledomain.ru', '200', '200', '', '*', '10', '0');



MariaDB [pureftpd]> exit;

 

Это утверждение MySQL создаст пользователя TestUser со статусом 1 (что означает, что FTP активен) и пароль andreyex (вы должны изменить его по своему вкусу). Пароль будет храниться и шифроваться с помощью функции MD5 в MySQL, идентификатор пользователя и GID будут установлены в 2525 (пользователь / группа, которую мы создали для виртуальных пользователей, которые будут отображаться), домашний каталог будет /home/www.examledomain. ru, выгрузка and download bandwidth будет установлена на 200 кб / сек. (килобайт в секунду), наряду с квотой 100 МБ.

Для проверки конфигурации откройте FTP-клиент из вашего выбора и введите следующие учетные данные:

hostname : your IP address;

user: testuser

password: yourpassword

port: 21

 

Все. Мы успешно установили и настроили Pure-Ftpd так, что он использует виртуальных пользователей из базы данных MySQL. Вы можете управлять базами данных и добавлять новых пользователей с помощью инструмента PhpMyAdmin.

Установка и настройка PureFTPd с MySQL на VPS OpenSUSE Linux

PS . Если вам понравился этот пост, пожалуйста поделитесь им с друзьями в социальных сетях помощью кнопок на левой стороне поста или просто оставьте комментарий ниже. Заранее благодарю.

Как установить стек LEMP (Linux, Nginx, MySQL, PHP) на OpenSUSE

В сегодняшней простой статье мы рассмотрим шаги, необходимые для установки и настройки базового стека LEMP на OpenSUSE VPS. Стек LEMP является синонимом сервера LEMP или веб — сервера LEMP. Он включает Linux, Nginx, MySQL (MariaDB) и PHP.

ПОДГОТОВКА

Войдите на сервер с помощью SSH:

ssh root@server_ip

 

Перед тем как начать, введите следующую команду, чтобы проверить есть ли у вас правильная версия ОС установленная на вашем компьютере:

cat /etc/issue

 

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

Welcome to openSUSE 13.1 "Bottle" - Kernel r (l)

 

А теперь без лишних слов, мы можем начать путем удаления предварительно установленного Apache веб-сервера, так как мы заменим его Nginx.

Для этого, во-первых, мы остановить службу, отключим его от автозагрузке, а затем удалить его. Для этого введите следующие команды в интерфейсе командной строки:

systemctl stop apache2.service

systemctl disable apache2.service

zypper rm apache2

 

Обновите систему

Теперь, когда веб-сервер Apache был удален, мы можем обновить систему:

zypper up

 

Когда обновления закончены, можно приступать к настройке стека LEMP путем установки MySQL. На нашем большом опыте в работе с операционной системой, которой является OpenSUSE мы наткнулись на ошибки и не удалось запустить MySQL из-за отсутствия зависимостей PERL. В некоторых случаях мы получали следующее сообщение об ошибке:

FATAL ERROR: please install the following Perl modules before executing /usr/bin/mysql_install_db:

Sys::Hostname

Creation of MySQL databse in /var/lib/mysql failed

mysql.service: control process exited, code=exited status=1

 

Чтобы избежать этой ошибки, просто установите зависимость PERL Sys::Hostnameс помощью следующей команды:

zypper install perl-Sys-Hostname-Long

 

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

zypper install -y mysql-community-server mysql-community-server-client

 

Включите MySQL для запуска при загрузке системы, а затем запустить службу:

systemctl enable mysql.service

systemctl start mysql.service

 

Выполните первоначальную настройку MySQL. Следуйте указаниям на экране следующим образом:

mysql_secure_installation steps:



- Enter current password for root (enter for none):

 - Set root password? [Y/n] Y

 - Remove anonymous users? [Y/n] Y

 - Disallow root login remotely? [Y/n] Y

 - Remove test database and access to it? [Y/n] Y

 - Reload privilege tables now? [Y/n] Y

 

Далее, давайте установим Nginx:

zypper install -y nginx

 

Включите Nginx для запуска при загрузке:

systemctl enable nginx.service

 

В случае ошибки ‘/sbin/insserv failed, exit code 1’, введите следующую команду:

insserv syslog

 

и повторите:

systemctl enable nginx.service

 

Затем запустите Nginx:

systemctl start nginx.service

 

Теперь переходим к http://<yourdomain.ru> или http://<your_ip_address> из вашего браузера. Вы должны увидеть содержимое файла index.html, который хранится в корневом каталоге документов для Nginx (/srv/www/htdocs/).

Теперь мы будем редактировать файл конфигурации Nginx. Убедитесь, что он напоминает ту, которую мы публикуем, за исключением если вы уверены, что вы хотите, чтобы он был скорректирован в соответствии с вашими потребностями. Заметим, что это только первоначальная конфигурация и он может изменяться в зависимости от веб-сайта / приложения.

vim /etc/nginx/nginx.conf

 

worker_processes  2;



    sendfile        on;



    keepalive_timeout  65;



    gzip  on;



    include conf.d/*.conf;



    server {

        listen       80;

        server_name  _;



        #charset koi8-r;



        location / {

            root   /srv/www/htdocs/;

            index index.php index.html index.htm;

        }



        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   /srv/www/htdocs/;

        }



        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

        #

        location ~ .php$ {

            root           /srv/www/htdocs/;

            fastcgi_pass   127.0.0.1:9000;

            fastcgi_index  index.php;

            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

            include        fastcgi_params;

        }



        # deny access to .htaccess files, if Apache's document root

        # concurs with nginx's one

        #

        location ~ /.ht {

            deny  all;

        }

    }

 

Сохраните и закройте файл. Проверьте конфигурацию Nginx:

nginx -t

 

Если все в порядке, подключите сервис Nginx , перезагружая его с помощью следующей команды:

systemctl reload nginx.service

 

Ваш следующий шаг заключается в установке PHP-FPM. Вы можете сделать это с помощью приведенных ниже команд:

zypper install -y php5-pear php5-gd php5-mbstring php5-mcrypt php5-sockets php5-xmlrpc php5-zlib php5-curl php5-bz2 php5-ftp php5-sysvsem php5-fpm php5-mysql

 

Запустите конфигурацию PHP-FPM путем копирования файла конфигурации:

cp -v /etc/php5/fpm/php-fpm.conf.default /etc/php5/fpm/php-fpm.conf

 

Теперь отредактируйте PHP-fpm.conf и измените значения пользователя и группы из nobody в Nginx . Также включите ведение журнала ошибок. Откройте конфигурационный файл в текстовом редакторе, например vim:

vim /etc/php5/fpm/php-fpm.conf

 

Раскомментируйте и отредактируйте следующую строку, чтобы установить правильный путь к файлу журнала:

error_log = /var/log/php-fpm.log

 

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

; Unix  user/group of processes

; Note: The user is mandatory. If the group is not set, the default user's group

;       will be used.

user = nginx

group = nginx

 

У OpenSUSE 13.1 нет php.ini файла для PHP-FPM. Давайте изменим это. Скопируйте файл php.ini из /etc/php5/cli/ в /etc/php5/fpm/, как показано ниже:

cp /etc/php5/cli/php.ini /etc/php5/fpm/

 

Теперь отредактируйте файл php.ini:

vim /etc/php5/fpm/php.ini

 

Измените значение параметра cgi.fix_pathinfo на 0. По умолчанию он будет закомментирован и установлено значение на 1, это практически гарантирует, что PHP попытается выполнить ближайший доступный файл, если запрошенный файл PHP не может быть найден. Сохраните и закройте файл после редактирования.

Включите службу на запуск при загрузке, а затем запустить его:

systemctl enable php-fpm.service



systemctl start php-fpm.service

 

Затем создайте файл тест PHP:

vim /srv/www/htdocs/index.php

 

 

<?php

 phpinfo();

 ?>

 

Откройте http://<yourdomain.ru> или http://<your_ip_address> в вашем веб-браузере. Если вы внимательно следили, вы должны увидеть стартовую страницу phpinfo.

Вот и все. Мы успешно создали стек LEMP на нашем OpenSUSE VPS.

Как установить стек LEMP (Linux, Nginx, MySQL, PHP) на OpenSUSE

PS . Если вам понравился этот пост, пожалуйста поделитесь им с друзьями в социальных сетях помощью кнопок на левой стороне поста или просто оставьте комментарий ниже. Заранее благодарю.



2016-11-09T02:46:09
Настойка OpenSUSE