Архив метки: Linux

Типы файловых систем для Linux

Операционная система Windows может быть установлена только на файловую систему NTFS, поэтому обычно у пользователей не возникает вопросов какую ФС лучше использовать. Но Linux очень сильно отличается, здесь в ядро системы встроены и могут использоваться несколько файловых систем, каждая из которых оптимизирована для решения определенных задач и лучше подходит именно для них.

Новые пользователи не всегда понимают что такое раздел жесткого диска и файловая система. В нашей сегодняшней статье мы попытаемся разобраться во всех этих понятиях, рассмотрим что такое файловая система, а также рассмотрим самые распространенные типы файловых систем Linux. Но начнем с самых основ, разделов диска.

Читать

Проксирование сайта с помощью apache proxy

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

Читать

Тормоза при записи больших файлов на NTFS флешку

К сожалению, приходится иногда копировать несколько объемных файлов фильмов на флешку NTFS для просмотра на экране большого телевизора. Заметил, что с некоторых пор (а может, так и всегда было, не обращал внимания) при этом мышь начинает плохо управляться и т.д. Читать

Как установить WordPress с HHVM и Nginx на OpenSUSE 42.1 Leap

Оглавление

  1. Шаг 1 — Установка Nginx
  2. Шаг 2 — Установка и настройка MariaDB
  3. Шаг 3 — Установка HHVM
  4. Шаг 4 — Настройка HHVM и Nginx
  5. Шаг 5 — Создание виртуального хостинга с HHVM и Nginx
  6. Шаг 6 — Установка WordPress

HHVM (HipHop Virtual Machine) является виртуальной машиной с открытым исходным кодом, разработанный Facebook, это JIT (just-in-time) компилятор для выполнения программ, написанных на PHP 5 (и некоторые особенности PHP 7) и язык Hack. Если вы хотите запустить HHVM на вашем сервере, вы можете использовать FastCGI на основе веб-сервера на основе Nginx или веб-сервера Apache, или вы можете использовать встроенный веб-сервер под названием «Proxygen».

На этом уроке мы покажем вам, как установить WordPress (хорошо известную CMS, основанную на PHP) с HHVM и Nginx в качестве нашего веб-сервера. Мы будем использовать OpenSUSE 42.1 Leap в качестве операционной системы, поэтому потребуется базовые знания OpenSUSE.

Необходимое условие

  • OpenSUSE Leap 42,1 — 64 бита.
  • Корневые привилегии.
  • Базовые знания OpenSUSE как Zypper, SuSE-брандмауэр.

Шаг 1 — Установка Nginx

Nginx или engine-х представляет собой легкий веб-сервер с высокой производительностью и низким потреблением памяти. На нашем сервере OpenSUSE, мы можем использовать команду zypper для установки пакета.

Используйте «sudo su», чтобы стать суперпользователем и установим Nginx с помощью команды zypper на OpenSUSE 42.1 Leap:

sudo su

zypper in nginx

Затем перейдите в веб — каталог  «/srv/www/htdocs»  и создайте новый файл index.html.

cd /srv/www/htdocs/

echo "<h1>Nginx OpenSUSE Leap 42.1</h1>" > index.html

 

Добавьте Nginx для запуска во время загрузки и запуска Nginx с помощью команды systemctl:

systemctl enable nginx

systemctl start nginx

 

Для того, чтобы убедиться, что Nginx работает на нашем сервере, мы можем посетить IP-адрес сервера с помощью браузера, или использовать команду curl ниже, чтобы увидеть результаты:

curl 192.168.43.29

 

Шаг 2 — Установка и настройка MariaDB

MariaDB представляет собой базу данных с открытым исходным кодом, разработанную оригинальным MySQL разработчиком Monty Widenius, MariaDB совместим с MySQL. На этом шаге мы установим MariaDB и настроим корневой пароль для базы данных MariaDB. Затем мы создадим новую базу данных и пользователя, необходимые нам для установки WordPress.

Установить MariaDB с Zypper:

zypper in mariadb mariadb-client

 

Добавить MariaDB в автозагрузку, а затем запустим его:

systemctl enable mysql

systemctl start mysql

 

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

/usr/bin/mysqladmin -u root password 'andreyexpass'

 

Заметка:

Пароль MariaDB является «andreyexpass», пожалуйста, используйте любой другой, более безопасный пароль на сервере.

Корневой пароль MariaDB был настроен. Теперь войдите в оболочку MariaDB / MySQL и создайте новую базу данных «wpdb» и нового пользователя «wpusers» с паролем «wpuser!@» для нашей установки WordPress. Выберите безопасный пароль здесь, а также в вашей системе.

Войдите в оболочку MariaDB / MySQL:

mysql -u root -p

TYPE PASSWORD andreyexpass

 

Создайте новую базу данных и нового пользователя:

create database wpdb;

create user wpusers@localhost identified by 'wpusers@';

grant all privileges on wpdb.* to wpusers@localhost identified by 'wpuser!@';

flush privileges;

 

Создание базы данных

Создание базы данных

MariaDB установлен, и новая база данных для нашей установки WordPress была создана.

Шаг 3 — Установка HHVM

Для установки HHVM, нам нужно добавить новый репозиторий HHVM. Мы можем использовать команду zypper чтобы добавить новый репозиторий HHVM к серверу. Затем мы должны обновить репозитории OpenSUSE:

zypper addrepo http://download.opensuse.org/repositories/home:munix9/openSUSE_Leap_42.1/home:munix9.repo

zypper refresh

Введите ‘а’ , чтобы всегда доверять ключ.

Zypper refresh

Теперь установить пакеты hhvm:

zypper in hhvm hhvm-nginx hhvm-fastcgi

 

hhvm-Nginx обеспечивает образец конфигурации Nginx.

hhvm-FastCGI предоставляет файлы метаданных FastCGI.

Шаг 4 — Настройка HHVM и Nginx

На этом этапе мы будем настраивать HHVM для работы с веб — сервером Nginx. Мы настроим HHVM использовать Unix-сокет и запустим HHVM, как пользователь Nginx. Перейдите в каталог конфигурации HHVM и отредактируйте конфигурационный файл ‘server.ini’ редактором Vim:

cd /etc/hhvm/

vim server.ini

 

Раскоментируйте линию 3, чтобы позволить Unix-сокетам для HHVM.

hhvm.server.file_socket = /var/run/hhvm/server.sock

 

Сохраните и выйдите.

Далее, мы должны изменить сценарий службы HHVM так, что HHVM мог запускать Nginx nginx пользователя. Важно настроить HHVM для работы в качестве того же пользователя, чем веб — сервер. Перейти в каталог systemd и редактируйте файл ‘hhvm.service’ с помощью vim:

cd /usr/lib/systemd/system

vim hhvm.service

 

Изменение —user опции HHVM в строке 11 пользователем Nginx.

ExecStart=/usr/bin/hhvm --config /etc/hhvm/php.ini --config /etc/hhvm/server.ini --user nginx --mode daemon -vServer.Type=fastcgi -vServer.FileSocket=/var/run/hhvm/server.sock -    vPidFile=/var/run/hhvm/server.pid

 

Сохранить и выйти.

Nginx Systemd скрипт

Теперь измените владельца каталога «/var/run/hhvm» для пользователя Nginx.

chown -R nginx:nginx /var/run/hhvm/

 

Заметка:

После перезагрузки сервера, иногда владелец каталога по умолчанию возвращается к пользователю по умолчанию. Чтобы решить эту проблему, мы можем определить команду Linux, которая будет выполнена после того, как все сценарии на текущем уровне были выполнены.

Отредактируйте файл after.local в каталоге  «/etc/rc.d/» и добавьте новую команду Linux в конце файла:

vim /etc/rc.d/after.local

Вставьте следующую команду:

chown -R nginx:nginx /var/run/hhvm/

 

Сохранить и выйти.

Далее, мы должны настроить HHVM для работы с Nginx. Мы установили новый пакет «hhvm-Nginx» , он содержит пример конфигурации HHVM для веб — сервера Nginx.

Перейдите в каталог конфигурации Nginx и скопируйте конфигурацию HHVM:

cd /etc/nginx/

cp hhvm.conf.example hhvm.conf

 

Отредактируйте hhvm.conf с помощью команды vim:

vim hhvm.conf

 

На второй строке, добавьте новую конфигурацию, чтобы определить корневую веб-директорию:

root   /srv/www/htdocs;

 

Сохраните и выйти.

Конфигурация Nginx

Тогда мы должны изменить конфигурацию Nginx, чтобы включить конфигурацию HHVM.

vim nginx.conf

 

В строке 59 — добавить новую строку конфигурации ниже:

include /etc/nginx/hhvm.conf;

 

Сохранить и выйти.

Включить и запустить HHVM с командой systemctl ниже:

systemctl enable hhvm

systemctl start hhvm

 

Затем перезагрузите Nginx:

systemctl restart nginx

 

Были установлены и настроены Nginx и HHVM. Для того, чтобы проверить что конфигурация работает, мы создадим новый файл php, который содержит код phpinfo и сохраним его в корневом каталоге веб «/srv/www/htdocs», доступный к нему через веб — браузер.

cd /srv/www/htdocs/

echo "<?php phpinfo(); ?>" > info.php

 

Откройте браузер и введите IP-адрес сервера:

192.168.43.29/info.php

HHVM phpInfo

Nginx и HHVM работают без ошибок.

Шаг 5 — Создание виртуального хостинга с HHVM и Nginx

На этом шаге мы создадим новую конфигурацию виртуального хоста с Nginx и HHVM. Я буду использовать доменное имя «andreyex.ru» для этого примера и использую его как домен для нашей установки WordPress тоже. Пожалуйста, замените имя домена на ваш собственный домен именем во всех конфигурационных файлов и команд.

Перейдите в каталог Nginx и создайте новый каталог для хранения виртуальных хост-файлов:

cd /etc/nginx/

mkdir vhosts.d/

cd vhosts.d/

 

Создайте новый файл конфигурации  «nano.conf» с помощью vim:

vim nano.conf

 

И вставьте новую конфигурацию виртуального хоста ниже:

server {

	# This line for redirect non-www to www

	server_name  andreyex.ru;

	rewrite ^(.*) http://andreyex.ru$1 permanent;

}



server {



        listen   80;

        server_name andreyex.ru;

        root /srv/www/nano; 

        index index.php index.html index.htm;



        location / {

                try_files $uri $uri/ =404;

        }



        error_page 500 502 503 504 /50x.html;

        location = /50x.html {

              root /srv/www/htdocs;

        }



        # HHVM running throught Unix-Socket

	location ~ .(hh|php)$ {

    		root   /srv/www/nano;

    		fastcgi_keep_conn on;

    		#fastcgi_pass   127.0.0.1:9000;

    		fastcgi_pass   unix:/var/run/hhvm/server.sock;

    		fastcgi_index  index.php;

    		fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;

   		include        fastcgi_params;

	}



}

 

Сохраните и выйдите.

В нашей конфигурации виртуального хоста, мы определили веб — корневой каталог для доменного имени каталог «/srv/www/nano» . Этот каталог не существует на данный момент, поэтому мы должны создать этот каталог в настоящее время.

mkdir -p /srv/www/nano/

 

И, наконец, проверьте конфигурацию Nginx и перезапустите его:

nginx -t

systemctl restart nginx

 

Убедитесь, что команда Nginx -t не отображает сообщение об ошибке.

Шаг 6 — Установить WordPress

На шаге 5 мы создали конфигурацию виртуального хоста для нашей установки WordPress. Так что мы просто должны загрузить WordPress прямо сейчас, а затем изменить конфигурацию базы данных, которую мы создали в шаге 2.

Перейдите на веб — корневой директории «/srv/www/nano»   и загрузите Zip — архив WordPress с помощью команды wget:

cd /srv/www/nano

wget wordpress.org/latest.zip

 

Извлеките «latest.zip» и переместите все WordPress файлы и каталоги в каталог nano:

unzip latest.zip

mv wordpress/* .

 

Затем скопируйте файл «wp-config-sample.php» в «wp-config.php»  и отредактируйте с помощью команды Vim:

cp wp-config-sample.php wp-config.php

vim wp-config.php

 

Изменение DB_NAME в нашей базе данных «wpdb» , DB_USER к  «wpusers» и DB_PASSWORD к  «wpuser!@» .

DEFINE ( 'DB_NAME', 'wpdb');

DEFINE ( 'DB_User', 'wpusers');

DEFINE ( 'DB_PASSWORD', 'wpuser!@');

DEFINE ( 'DB_HOST', 'Localhost');

Сохраните и выйдите.

Теперь откройте веб-браузер и введите имя домена в адресной строке.

Вы будете перенаправлены на andreyex.ru и вы увидите страницу установки.

И вы можете заполнить название сайта и описание с информацией и нажмите кнопку «Установить WordPress».

Введите данные в блоге

Подождите, пока не закончится установка, и вы увидите страницу входа ниже. Нажмите «Войти» , чтобы войти в панели управления администратора WordPress:

WP установка успешна

Введите Вашего пользователя и пароль администратора, затем нажмите кнопку «Войти» снова.

WordPress вход

Теперь вы находитесь в приборной панели администратора WordPress.

WordPress панель

Все! Мы установили в настоящее время. WordPress с Nginx и HHVM на OpenSUSE 42.1 Leap



2016-11-11T08:07:45
Установка ПО на openSUSE

Лучшие графические оболочки Ubuntu

Ubuntu — это один из самых популярных дистрибутивов Linux, разрабатываемый компанией Canonical. По умолчанию здесь используется собственная графическая оболочка — Unity. Она применяется поверх окружения рабочего стола Gnome 3 и выглядит красиво.

Но у Unity есть один существенный недостаток — слишком мало настроек, и до сих пор остаются кое-какие ошибки и недоработки. К тому же эта оболочка нравится не всем. Но необязательно использовать именно её, вы можете установить любое из доступных окружений рабочего стола для Linux. Здесь ваш выбор ограничен только вашим вкусом. В этой статье мы рассмотрим лучшие графические оболочки Ubuntu 16.04, а также способы их установки в это системе.

Читать

Установка и настройка 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 . Если вам понравился этот пост, пожалуйста поделитесь им с друзьями в социальных сетях помощью кнопок на левой стороне поста или просто оставьте комментарий ниже. Заранее благодарю.