Архив рубрики: Публикации

Как легко и просто обезопасить и защитить ваш сайт WordPress

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

Для того , чтобы обеспечить и защитить свой сайт на основе WordPress от взлома, следуйте этим простым методам:

  • Держите установку WordPress, включая все установленные плагины WordPress и темы в актуальном состоянии, обновляйте их всякий раз, когда выходит новая версия. Многие хакеры используют уязвимости и дыры в безопасности, которые были выявлены в более старых версиях WordPress, поэтому держать вашу установку в актуальном состоянии является простым способом предотвратить большинство попыток взлома.

  • Нападавшие могут найти путь в ваш веб-сайт WordPress с помощью программного обеспечения (грубой силы), и они будут пытаться раскрыть пароль администратора систематически пытаться войти в систему, используя общие слова и фразы, как пароли, в сочетании с явным именем, таких как «admin». Вы никогда не должны использовать «admin» в качестве имени пользователя администратора WordPress или сохранить этот пользователя, таким образом, создать новую учетную запись администратора с именем пользователя, который не является очевидным, назначать роли администраторов к нему, передать все посты, страницы и т.д., созданные ‘admin’ во вновь созданную учетную запись и дать ему надежный пароль (WordPress имеет индикатор уровня пароля, который отображается при изменении пароля). Затем удалите учетную запись пользователя «admin».

  • Для того, чтобы остановить спам-атаки имен пользователей и комментарии, отредактируйте конфигурационный файл Apache и добавьте следующие строки:
    <IfModule mod_rewrite.c>

    	RewriteEngine On

    	RewriteCond %{REQUEST_METHOD} POST

    	RewriteCond %{REQUEST_URI} .(wp-comments-post|wp-login).php*

    	RewriteCond %{HTTP_REFERER} !.*mydomain.ru.* [OR]

    	RewriteCond %{HTTP_USER_AGENT} ^$

    	RewriteRule (.*) http://%{REMOTE_ADDR}/$ [R=301,L]

    </ifModule>

    Или, если вы используете Nginx в качестве веб — сервера, запретить доступ к запросам путем добавления источников ссылок следующие строки в файл конфигурации Nginx ( обычно /etc/nginx/nginx.conf ):

    location ~* (wp-comments-posts|wp-login).php$ {

            if ($http_referer !~ ^(http://mydomain.ru) ) {

              return 405;

            }

          }

    Не забудьте изменить ‘mydomain.ru’ на имя вашего фактического домена, а затем перезапустите веб-сервер для того, чтобы изменения вступили в силу.

  • Установить полезные плагины, такие как ‘Enforce Strong Password’ , ‘Limit Login Attempts’ и ‘Lockdown WP Admin’ в целях дальнейшего обеспечения защиты вашего сайта WordPress.

Как легко и просто обезопасить и защитить ваш сайт WordPress



2016-11-24T14:09:22
Лучшие учебники по Wodpress

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

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

Читать

Как установить LEMP (Linux, Nginx, MySQL & PHP-FPM) на Debian 8

В этой статье мы расскажем вам об установке LEMP (Linux, Nginx, MySQL и PHP-FPM) на Debian 8.

Стек LEMP является синонимом сервера LEMP или веб — сервера LEMP. Он включает Linux, Nginx, MySQL (MariaDB) и PHP.

 

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

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

apt-get update && apt-get upgrade

 

Установите NGINX

Чтобы установить Nginx на своем сервере Debian 8, вам нужно выполнить следующую команду:

apt-get install nginx

 

После завершения установки, вы можете начать с Nginx:

systemctl start nginx

 

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

systemctl enable nginx

 

Возможные проблемы:

Если во время установки Nginx вы столкнулись с ошибками, вроде этих:

dpkg: error processing package nginx (--configure):

dependency problems - leaving unconfigured

Processing triggers for systemd (215-17+deb8u1) ...

Errors were encountered while processing:

nginx-full

nginx

E: Sub-process /usr/bin/dpkg returned an error code (1)

 

то, вы можете исправить, открыв файл конфигурации Nginx по умолчанию и закомментировать линию listen [::]:80 default_server;. Введите следующую команду:

vim /etc/nginx/sites-available/default

 

Найдите линию  listen [::]:80 default_server; и закомментируйте ее, добавив знак # перед линией. Перезапустите Nginx, чтобы изменения вступили в силу и запустите команду установки менеджера пакетов Nginx:

systemctl restart nginx



apt-get install nginx

 

Убедитесь в том, что Nginx работает, открыв веб-браузер и посетив ваш IP-адрес сервера (http://server_ip). Вы должны получить страницу приветствия Nginx, как показано ниже:

Nginx-debian8

Установка MYSQL

Теперь давайте установим MySQL. Наберите следующее:

apt-get install mysql-server

 

Во время установки вам будет предложено ввести пароль для корневого пользователя MySQL. Не вводите простой пароль, который можно взломать. Он должен содержать не менее 8 символов, смешанного с верхним и нижним регистром.

Теперь, когда MySQL установлен, мы рекомендуем Вам сделать безопасную настройку MySQL командой:

mysql_secure_installation

 

Введите свой пароль корня и ответ с ‘n’, когда вас просят изменить корневой пароль MySQL. Ниже вся процедура, которой вы можете следовать:

Setting the root password ensures that nobody can log into the MySQL

root user without the proper authorisation.



You already have a root password set, so you can safely answer 'n'.



Change the root password? [Y/n] n

... skipping.



By default, a MySQL installation has an anonymous user, allowing anyone

to log into MySQL without having to have a user account created for

them.  This is intended only for testing, and to make the installation

go a bit smoother.  You should remove them before moving into a

production environment.



Remove anonymous users? [Y/n] y

... Success!



Normally, root should only be allowed to connect from 'localhost'.  This

ensures that someone cannot guess at the root password from the network.



Disallow root login remotely? [Y/n] y

... Success!



By default, MySQL comes with a database named 'test' that anyone can

access.  This is also intended only for testing, and should be removed

before moving into a production environment.



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

- Dropping test database...

ERROR 1008 (HY000) at line 1: Can't drop database 'test'; database doesn't exist

... Failed!  Not critical, keep moving...

- Removing privileges on test database...

... Success!



Reloading the privilege tables will ensure that all changes made so far

will take effect immediately.



Reload privilege tables now? [Y/n] y

... Success!



Cleaning up...





All done!  If you've completed all of the above steps, your MySQL

installation should now be secure.



Thanks for using MySQL!

 

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

systemctl enable mysql

 

Установка PHP-FPM

Установите PHP-FPM, выполнив следующую команду:

apt-get install php5-fpm php5-mysql

 

Следующий шаг, который нужно сделать, это изменить файл конфигурации Nginx. Переместите файл по умолчанию и создайте новый файл Nginx. Следующая команда сделает именно это:

mv /etc/nginx/sites-available/default /etc/nginx/sites-available/default.old



vim /etc/nginx/sites-available/default

 

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

server {

        listen       80;

        server_name  your_website_name.ru;

        root /var/www/html;

        index index.php index.html index.htm index.nginx-debian.html;

        location / {

                try_files $uri $uri/ =404;

        }

        error_page 404 /404.html;

        error_page 500 502 503 504 /50x.html;

        location = /50x.html {

                root /var/www/html;

        }

        location ~ .php$ {

                try_files $uri =404;

                fastcgi_pass unix:/var/run/php5-fpm.sock;

                fastcgi_index index.php;

                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

                include fastcgi_params;

        }

}

 

Сохраните и закройте файл.

Теперь, давайте создадим простой тест PHP страницы. Создайте информационную страницу PHP, так что вы можете проверить свою версию PHP, активные модули и т.д …

Создайте файл, назовем его info.php  в каталоге /var/www/html:

vim /var/www/html/info.php

 

Вставьте следующий код в файл:

<?php

phpinfo();

?>

 

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

systemctl restart nginx

 

Теперь откройте ваш веб-браузер и перейдите по адресу http://your_server_ip_address/info.php. Мы рады приветствовать Вас на веб-странице, аналогичной приведенной ниже:

infophp

Вот и все. Вы успешно установили стек LEMP на Debian 8.



2016-11-22T13:32:38
Установка ПО на Debian

Как установить LAMP (Linux, Apache, MySQL & PHP) и PhpMyAdmin на Debian 8

В этой статье мы будем покажем вам как установить LAMP (Linux, Apache, MySQL и PHP-FPM) на Debian 8.

Стек LAMP является синонимом LAMP сервера или LAMP веб -сервера. Он включает Linux, Apache, MySQL (MariaDB) и PHP.

 

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

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

apt-get update && apt-get upgrade

 

Установка Apache

Чтобы установить Apache на вашем сервере 8 Debian, вам нужно выполнить следующую команду:

apt-get install apache2

 

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

systemctl enable apache2

 

Убедитесь в том, что Apache запущен, открыв веб-браузер и посетив ваш IP-адрес сервера (http://server_ip).Вы должны получить страницу приветствия Apache, как показано ниже:

Apache-Debian8

Установка MYSQL

Теперь давайте установим MySQL. Выпуск следующее:

apt-get install mysql-server mysql-client

 

Во время установки вам будет предложено ввести пароль для пользователя root в MySQL. Не вводите пароль, который легко взломать. Он должен содержать не менее 8 символов, смешанного с верхним и нижним регистром.

Теперь, когда MySQL установлен, мы рекомендуем Вам сделать безопасную установку MySQL командой:

mysql_secure_installation

 

Введите свой пароль root и ответ ‘п’ , когда вас просят изменить MySQL корневой пароль. Ниже вся процедура, которой вы можете следовать:

Setting the root password ensures that nobody can log into the MySQL

root user without the proper authorisation.



You already have a root password set, so you can safely answer 'n'.



Change the root password? [Y/n] n

... skipping.



By default, a MySQL installation has an anonymous user, allowing anyone

to log into MySQL without having to have a user account created for

them.  This is intended only for testing, and to make the installation

go a bit smoother.  You should remove them before moving into a

production environment.



Remove anonymous users? [Y/n] y

... Success!



Normally, root should only be allowed to connect from 'localhost'.  This

ensures that someone cannot guess at the root password from the network.



Disallow root login remotely? [Y/n] y

... Success!



By default, MySQL comes with a database named 'test' that anyone can

access.  This is also intended only for testing, and should be removed

before moving into a production environment.



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

- Dropping test database...

ERROR 1008 (HY000) at line 1: Can't drop database 'test'; database doesn't exist

... Failed!  Not critical, keep moving...

- Removing privileges on test database...

... Success!



Reloading the privilege tables will ensure that all changes made so far

will take effect immediately.



Reload privilege tables now? [Y/n] y

... Success!



Cleaning up...





All done!  If you've completed all of the above steps, your MySQL

installation should now be secure.



Thanks for using MySQL!

 

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

systemctl enable mysql

 

Вы можете проверить состояние службы MySQL, выполнив:

systemctl status mysql

 

Установка PHP

Установите PHP, выполнив следующую команду:

apt-get install php5 php5-mysql libapache2-mod-php5

 

Теперь, давайте создадим простой тест PHP страницы. Создание PHP информационной страницы, так что вы можете проверить свою версию PHP, активные модули и т.д …

Создайте файл, давайте назовем его info.php в директории /var/www/html:

vim /var/www/html/info.php

 

Вставьте следующий код в файл:

<?php

phpinfo();

?>

 

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

systemctl restart apache2

 

Теперь откройте ваш любимый веб-браузер и перейдите по адресу http://your_server_ip_address/info.php. У Вас появится веб-страница, аналогично приведенной ниже:

PHP-info

Установка PhpMyAdmin

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

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

apt-get install phpmyadmin

 

В процессе установки вам будет предложено несколько окон для настройки PhpMyAdmin. Вы должны выбрать «Да«, когда вы попадаете на шаг «Configure database for phpMyAdmin with dbconfig-common» , после которого будет установлен и настроена PhpMyAdmin  для баз данных.

Затем введите MySQL корневой пароль, «Password of the database’s administrative user». Затем введите свой пароль в «MySQL application password for phpmyadmin» .

После того, как это закончится, вам будет предложено войти в окно, в котором вы можете выбрать веб — сервер, который будет настроен для запуска PhpMyAdmin. Выберите apache2 , а затем выберите ОК .

После того, как установка будет завершена, вы сможете получить доступ к PhpMyAdmin, перейдя в свой веб -браузер: http://your_server_ip_address/phpmyadmin. Вас встретят на странице:

PHPMyAdmin

Вы можете войти, используя root как имя пользователя и пароль, который вы использовали при настройке установки MySQL.

Вот и все. Вы успешно установили LAMP и PhpMyAdmin на сервере с Debian 8.



2016-11-21T14:00:58
Настройка Debian

Как установить PHP-Fusion 9 на Debian 8

Этот учебник покажет вам, как установить PHP-Fusion 9 на Debian 8 с Apache, PHP и MySQL, установленной на нем. PHP-Fusion быстрая и легкая  система управления контентом (CMS) с открытым исходным кодом, написанная на PHP. PHP-Fusion 9 включает в себя общие черты, найденные в других системах управления контентом. Сравнивая его с версией PHP-Fusion 7, есть некоторые новые функции, такие как полностью интегрированный и всеобъемлющий SEO двигатель, полная поддержка ядра для многоязычного контента, поддержка PDO, Bootstrap поддержка, новые темы и т.д. PHP-Fusion поставляется с простой , но комплексной системой администрирования.

Этот учебник был протестирован и написана для Debian 8, но он должен работать на любом дистрибутиве Linux.



Это руководство по установке предполагается, что Apache, MySQL и PHP уже установлены и настроены на виртуальном сервере. PHP-Fusion 9 требует:

  • PHP 5.3.4 или выше
  • Веб-сервер Apache> = 2.0 собран с модулем mod_rewrite и допускается со следующими директивами: RewriteEngine, RewriteBase, RewriteCond и RewriteRule;
  • MySQL 4.1 или выше установленных на вашем виртуальном сервере.

Давайте начнем с установки. Загрузите версию последней PHP-Fusion 9 доступной по адресу https://github.com/php-fusion/PHP-Fusion в директорию на сервере и извлеките его с помощью следующих команд:

cd /opt

wget https://github.com/php-fusion/PHP-Fusion/archive/9.00.zip

unzip 9.00.zip -d /var/www/html/

mv /var/www/html/PHP-Fusion-9.00/ /var/www/html/php-fusion/

 

Создать новую директиву виртуального хоста в Apache. Например, можно создать файл новой конфигурации Apache под названием ‘php-fusion.conf‘ на виртуальном сервере:

touch /etc/apache2/sites-available/php-fusion.conf

 

Затем выполните следующую команду:

ln -s /etc/apache2/sites-available/php-fusion.conf /etc/apache2/sites-enabled/php-fusion.conf

 

Или используйте a2ensite для включения конфигурации «php-fusion.conf ‘в Apache:

sudo a2ensite php-fusion.conf

 

Отредактируйте файл конфигурации ‘php-fusion.conf‘:

vi /etc/apache2/sites-available/php-fusion.conf

 

и добавьте в него следующие строки:

<VirtualHost *:80>

ServerAdmin admin@your-domain.ru

DocumentRoot /var/www/html/php-fusion/

ServerName your-domain.ru

ServerAlias www.your-domain.ru

<Directory /var/www/html/php-fusion/>

Options FollowSymLinks

AllowOverride All

</Directory>

ErrorLog /var/log/apache2/your-domain.ru-error_log

CustomLog /var/log/apache2/your-domain.ru-access_log common

</VirtualHost>

 

Установите соответствующие права доступа к файлам для веб-сервера Apache для записи в директории ‘administration/db_backups’, ‘ftp_upload’ and ‘images’ и файлы ‘images/imagelist.js’, ‘images/avatars’, ‘config_temp.php’ and ‘robots.txt’  внутри директории /var/www/html/php-fusion/:

sudo chown -R www-data:www-data /var/www/html/php-fusion/

 

Включить модуль перезаписи Apache2, если это не было сделано ранее:

sudo a2enmod rewrite

 

Снова запустить веб-сервер Apache для того, чтобы изменения вступили в силу:

service apache2 restart

 

Создать новую базу данных MySQL для PHP-Fusion, чтобы использовать и назначить пользователю к нему с полными правами доступа:

mysql -u root -p

mysql> CREATE DATABASE phpfusiondb;

mysql> GRANT ALL PRIVILEGES ON phpfusiondb.* TO 'phpfusionuser'@'localhost' IDENTIFIED BY 'свой-пароль' WITH GRANT OPTION;

mysql> FLUSH PRIVILEGES;

mysql> quit

 

Не забудьте заменить ‘свой-пароль’ на сильный пароль.

Откройте веб — браузер, перейдите к http://your-domain.ru и следуйте простым инструкциям, а затем войдите в панель администратора PHP-Fusion и настройте его в соответствии с вашими потребностями.

 

Как установить PHP-Fusion 9 на Debian 8

По соображениям безопасности, удалите все в каталоге /install и установите с помощью chmod ваш конфигурационный файл ‘config.php‘ на 0644:

rm -rf /var/www/html/php-fusion/install

chmod 644 /var/www/html/php-fusion/config.php

 

Вот и все. Установка PHP-Fusion теперь завершена.



2016-11-16T12:52:42
Установка ПО на Debian

Как установить FuelPHP с Nginx на Debian 8

FuelPHP это PHP фрэймворк, который является простой, гибкий и управляется сообществом. Он разработан с нуля, чтобы поддержать иерархическую model–view–controller (HMVC) и предоставляет собой инструмент командной строки для создания проектов, отладки проектов или выполнения аналогичных задач. Сегодня мы покажем вам, как установить FuelPHP на Linux.

Так как мы собираемся установить FuelPHP на Debian 8 с уже предустановленным Nginx в качестве веб — сервера, убедитесь, что у вас есть Nginx , предустановленного на сервере тоже. Если у вас нет Nginx на вашем сервере вы можете использовать руководство по установки LEMP стека на основе Nginx и другие компоненты стека LEMP.

Если Nginx установлен на вашем сервере, вы можете продолжить с приведенными ниже инструкциями.

Прежде всего, подключитесь к серверу через SSH и обновите все системное программное обеспечение до последней доступной версии. Используйте команды ниже для этой цели:

sudo apt-get update

sudo apt-get upgrade

 

Это может занять несколько минут. После завершения обновления, вы можете продолжить с другими шагами. Идем дальше и установим Git с помощью следующей команды:

sudo apt-get install git-core

 

Мы будем использовать быструю установку для установки FuelPHP. Сначала загрузите пакет Oil с использованием curl:

curl get.fuelphp.com/oil | sh

 

Это позволит загрузить пакет Oil и будет хранить его в каталоге ‘/usr/bin’ на Debian. Позже, вы можете использовать Oil для создания альтернативного проекта. Для того, чтобы создать новый проект FuelPHP, перейдите в каталог ‘/var/www’:

cd /var/www/

 

и выполните следующую команду:

oil create first_project

 

Это займет несколько секунд, ваш первый проект, будет готов. Программа установки также запустит ‘oil refine install’ и ‘php composer.phar update’ , которые делают некоторые из необходимых каталогов для записи и тянут зависимости composer.

Теперь создайте новый конфигурационный файл Nginx и добавьте следующий виртуальный блок для вашего доменного имени:

nano /etc/nginx/sites-available/domainname

 

Введите следующее содержание:

server {

    server_name domainname.ru;



    access_log /var/log/nginx/domainname.ru-access.log;

    error_log /var/log/nginx/domainname.ru-error.log;

    root /var/www/first_project/public;



    location / {

        index index.php;

        try_files $uri $uri/ /index.php$is_args$args;

    }



    location ~ .php$ {

        include /etc/nginx/fastcgi_params;

        fastcgi_pass unix:/var/run/php5-fpm.sock;

        fastcgi_index index.php;

        fastcgi_param FUEL_ENV "production";

        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

    }

}

 

Не забудьте заменить domainname.ru на ваше действительное имя домена. Сохраните файл, включите сайт и перезапустите Nginx, чтобы изменения вступили в силу. Теперь вы должны иметь возможность получить доступ к первому проекту FuelPHP с помощью веб-браузера. Откройте ваш веб-браузер и перейдите к вашему домену.

Чтобы начать работу с FuelPHP мы рекомендуем прочитать официальную документацию FuelPHP доступную на http://fuelphp.com/docs/. Там вы можете найти более подробную информацию о том, как настроить приложение, как настроить базу данных и т.д.

Как установить FuelPHP с Nginx на Debian 8



2016-11-15T18:55:20
Установка ПО на Debian