Билайн предоставляет услуги как мобильного (2G, 3G и 4G), так и домашнего интернета (по технологии L2TP). Порой абоненты этого провайдера сталкиваются с внезапным исчезновением сети или снижением скорости. Почему интернет может пропасть, а скорость снизится? И главное — что делать в этом случае?
Файл .htaccess позволяет настраивать веб-сайт на сервере Apache без необходимости изменять файлы конфигурации сервера. В данном руководстве мы рассмотрим наиболее распространенные примеры его использования. Однако, прежде чем перейти к работе с этим файлом, необходимо сделать важное замечание. Несмотря на то, что страница .htaccess может быть очень полезной и существенно улучшить сайт, у нее есть два фактора негативного влияния:
1. Скорость — страница .htaccess может немного замедлить работу вашего сервера, хотя для большинства серверов это изменение будет незаметным. Это связано с расположением страницы: она влияет на все страницы в своей директории и в ее поддиректориях. При каждой загрузке страницы сервер сканирует ее директорию и все директории выше, пока не дойдет до верхнего уровня или файла .htaccess. Эти действия выполняются всегда, когда параметр AllowOverride (о нем чуть ниже) разрешает использование файлов .htaccess, независимо от того, существуют ли эти файлы на самом деле.
2. Безопасность — файл .htaccess гораздо доступнее стандартной конфигурации Apache, а изменения вносятся мгновенно (без необходимости перезапуска сервера). Предоставление пользователям права внесения изменений в файл .htaccess предоставляет им значительный контроль над самим сервером. Любая директива в файле .htaccess действует так же, как директива в самой конфигурации Apache.
В целом Apache не рекомендует использовать файл .htaccess, если пользователь сам может работать с файлами конфигурации Apache.
Подключение файла .htaccess
Если у вас есть доступ к настройкам сервера, вы можете изменить конфигурацию, чтобы разрешить использование .htaccess вместо стандартной конфигурации веб-сайта. Откройте файл конфигурации узла apache2 по умолчанию (для этого вам потребуются привилегии суперпользователя):
$ sudo nano /etc/apache2/sites-available/default
Найдите в этом файле следующий раздел и измените значение параметра AllowOverride c None на All. В конечном итоге раздел должен выглядеть так:
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
Сохраните и закройте этот файл, а затем перезапустите apache.
$ sudo service apache2 restart
Создание файла .htaccess
Файл .htaccess можно создать в любом текстовом редакторе, например:
$ sudo nano /var/www/example.com/.htaccess
Убедитесь, что его имя строго .htaccess, а затем при помощи ftp-клиента загрузите его на сайт.
Использование файла .htaccess
Использование файла .htaccess не требует таких высоких привилегий, как доступ файлу apache2.conf, но при этом позволяет осуществлять эффективное управление сайтом. Далее мы рассмотрим ряд примеров применения этого файла.
Управление доступом
Файл .htaccess может применяться для гибкого разграничения доступа к вашему сайту или отдельным его страницам. Один из типичных вариантов – запрет доступа с определенных IP-адресов, например, следующий код запрещает доступ со всех адресов, кроме 192.168.1.1. Это полезно при обслуживании сайта, когда требуется закрыть доступ для всех, кроме администратора.
Order Allow,Deny
Deny from All
Allow from 192.168.1.1
Директива Order указывает порядок выполнения следующих директив (сначала Allow — разрешение, затем Deny — запрет). Deny from All запрещает доступ вообще, но так как в соответствии с порядком выполнения сначала разрешен доступ с адреса 192.168.1.1, запрет будет действовать для всех, кроме указанного адреса. Вместо IP-адресов можно указывать подсети (например, формат 192.168 означает подсеть 192.168.x.x) или доменные имена.
Аутентификация
Использование .htaccess позволяет выделить определенную часть сайта и защитить ее паролем. Пароли .htaccess хранятся в файле .htpasswd. Создайте файл, внесите в него имена и пароли всех пользователей, которым вы хотите предоставить доступ к защищенной части сайта, и сохраните его. Файл не должен находиться в веб-директории (по соображениям безопасности). Введите в этот файл любое необходимое количество записей в формате пользователь:пароль. Для каждого пользователя нужно создать отдельную строку. Пароль должен быть указан в закодированном виде. Для кодирования паролей можно воспользоваться специальным сайтом или программой htpasswd, которая входит в комплект установки Apache. Для создания файла и добавления пользователей с помощью утилиты httpasswd используйте команду
htpasswd -cm .htpasswd admin
Эта команда создаст пользователя admin и запросит ввести пароль для него. После ввода пароля запись в файл .htpasswd будет добавлена.
После этого нужно разместить файл .htaccess в директории, к которой требуется защитить доступ, и ввести в него следующий код:
AuthGroupFile: эта строка используется для обозначения месторасположения файла .htgroup. Так как мы его не создавали, можем указать здесь /dev/null.
AuthName: Текст, отображаемый в предложении ввести пароль.
AuthType: Тип аутентификации, используемый для проверки пароля. При проверке паролей через HTTP нужно оставить значение Basic.
Require valid-user: Ключевая фраза, которая указывает файлу .htaccess наличие нескольких пользователей, которым требуется обеспечить возможность входа в защищенную паролем часть сайта. Другой возможный вариант – ключевая фраза «require user username», обозначающая конкретного пользователя с разрешенным доступом.
Сообщения об ошибках
Файл .htaccess позволяет вам создавать для своего сайта собственные страницы, сообщающие об ошибках. Вот некоторые из наиболее распространенных ошибок:
400 Ошибка в запросе
401 Требуется авторизация
403 Доступ запрещен
404 Файл не найден
500 Внутренняя ошибка сервера
Можно воспользоваться файлом .htaccess для создания собственных страниц, которые будут более дружественны к пользователю и предоставлять больше информации, чем стандартные сообщения сервера об ошибках.
Для примера мы рассмотрим страницу 404, аналогичным образом можно описать в файле .htaccess страницы для других ошибок. Естественно, сначала нужно создать саму страницу с необходимой информацией и загрузить ее на сервер. Затем укажите ее месторасположение в файле .htaccess:
ErrorDocument 404 /new404.html
В рассматриваемом примере сервер будет искать страницу 404 в корневой директории сайта. Если она находится в какой-либо поддиректории, нужно указать путь, например:
ErrorDocument 404 /error_pages/new404.html
Описание типов MIME
Если на вашем сайте есть файлы каких-либо приложений, для отображения которых ваш сервер не настроен, в файле .htaccess можно описать типы MIME при помощи следующего кода, чтобы браузер отображал их в необходимом формате:
AddType audio/mp4a-latm .m4a
В данном примере для файлов с расширением .m4a задано представление в виде аудиозаписей. Для поддержки других типов MIME укажите соответствующий тип и расширение файла.
Серверные включения
Серверные включения (Server Side Includes, SSI) позволяют добиться значительного повышения скорости открытия сайта. Они представляют собой директивы для динамической генерации данных на странице сервером перед ее отправкой клиенту. Один из наиболее распространенных вариантов использования SSI – обновление большого количества страниц с передачей определенных данных вместо обновления каждой страницы по отдельности (например, если вам нужно заменить цитату в нижней части страницы).
Для использования SSI введите в файл .htaccess следующий код:
Первая строка задает интерпретацию файлов с расширением .shtml как html-кода, а вторая – обработку таких файлов с любыми командами SSI на сервере.
Однако, если у вас много страниц .html, и вы не хотите менять расширение, для их обработки команд SSI в этих файлах можно воспользоваться XBitHack. Следующая строка в файле .htaccess заставляет сервер проверять все html-файлы с соответствующими разрешениями на наличие SSI:
XBitHack on
Для того, чтобы установить необходимые для XBitHack разрешения, воспользуйтесь командой:
chmod +x имя_страницы.html
Редирект
Эти директивы используются с завидной регулярностью. Они позволяют перенаправить посетителя со старого URL на новую страницу. Это возможно благодаря 301-редиректу. Достаточно в код файла вписать:
URL_LOCAL – это старый адрес, с которого осуществляется перенос пользователя.
URL_REDIRECT – новый URL, куда переносится страница.
В поле [status] могут быть следующие значения:
301 – страница перенесена навсегда.
302 – страница перенесена на время.
303 – смотрите другую страницу.
410 – страница удалена.
Модуль Mod_Rewrite
Одна из наиболее полезных функций файла .htaccess – его использование с модулем mod_rewrite, который применяется для перезаписи URL, отображаемых в браузере пользователя. Это может использоваться для их представления в более удобочитаемом формате и других задач, например, редирект с http на https можно настроить следующим образом.
RewriteEngine On
RewriteCond %{HTTP:PORT} !^443$
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
Первая строка активирует модуль Mod_Rewrite, а две последующие при попытке соединения по отличному от 443 порту переписывают URL, чтобы он начинался не с HTTP, а c HTTPS, перенаправляя посетителя на защищенное соединение.
Управление кэшированием данных
Файл .htaccess можно использовать для задания различных сроков кэширования контента вашего сайта. Целесообразно увеличить срок кэширования для редко меняющихся данных, чтобы ускорить загрузку сайта. Например, следующий код
ExpiresActive on
ExpiresByType image/jpeg "access plus 1 day"
ExpiresByType image/gif "modification plus 3 months"
ExpiresByType text/html "now"
отключает кэширование для HTML, для изображений JPEG устанавливает срок в 1 день с момента обращения, а для GIF — 3 месяца с момента модификации файла.
Заключение
Страница .htaccess обеспечивает значительную гибкость при создании сайтов, но наше руководство достаточно краткое. Более подробную информацию о возможностях файла .htaccess можно получить в документации для сервера Apache.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Чтобы подтвердить, активен ли Retpoline, вы можете использовать командлет Get-SpeculationControlSettings PowerShell.
Этот скрипт PowerShell покажет состояние настраиваемых обновлений Windows для различных уязвимостей.
Включает в себя Spectre 2 и Meltdown.
Как только вы загрузите скрипт и выполните его, вот как это выглядит.
Speculation control settings for CVE-2017-5715 [branch target injection]
Hardware support for branch target injection mitigation is present: True
Windows OS support for branch target injection mitigation is present: True
Windows OS support for branch target injection mitigation is enabled: True
…
BTIKernelRetpolineEnabled : True
BTIKernelImportOptimizationEnabled : True
...
В будущих обновлениях эта функция будет включена по умолчанию.
На данный момент она будет разрешена через облачную конфигурацию.
Microsoft работает над решением, которое больше не требует Retpoline.
Следующее поколение оборудования должно быть способно это исправить, но до обновления они будут исправлять эту уязвимость.
Не всегда удобно пользоваться консолью MySQL для редактирования и создания баз данных. Поэтому многие устанавливают phpMyAdmin, но не знают как настроить PhpMyAdmin на NGINX в связке с PHP
Для опытных пользователей в данном посте не будет ничего нового, а вот для новичков будет шпаргалкой на пути к созданию своего сайта и управления им.
Установка phpMyAdmin + Nginx в Ubuntu 18.04
Предположительно
у вас уже установлен MySQL сервер но еще не установлен phpMyAdmin.
Приступим к установке через терминал, putty и.т.д
sudo apt install phpmyadmin
В процессе установки будет предложено выбрать веб сервер на котором будет работать phpmyadmin. Так как устанавливать мы будем NGINX, то естественно мы просто нажмем enter и продолжим дальше. Далее будет предложено создать базу данных, и создать пароль для нее — выполните требуемое.
Так как phpmyadmin распаковался и находится по пути /usr/share/phpmyadmin , а ваш сайт допусти лежит в директории /home/www/my.site.ru, то нам всего навсего нужно будет создать символьную ссылку таким образом:
ln -s /usr/share/phpmyadmin /home/www/my.site.ru
после
чего в директории сайта появится ссылка на менеджер управления базами
данных. И чтобы зайти в phpmyadmin нам нужно перейти по адресу:
http://my.site.ru/phpmyadmin/
Если вы не установили php 7.4 или другую версию php то phpmyadmin работать не будет
Установка php 7.4, php7.4-fpm и других расширений php
Вводим в терминале команду, которая установит все необходимые расширения для работы php движков:
В данном случае вам будет доступен сайт если у вас он есть и phpmyadmin по адресу my.site.ru/phpmyadmin/ .
Если вы хотите чтобы менеджер баз данных был на другом домене, например mysql.my.site.ru, создайте в редакторе зон DNS вашего хостинга специальный поддомен и отредактируйте файл nginx так:
Теперь можно проверить все ли работает. На этом всё.
[endtxt]
RSS
Добавление RSS-ленты на главную страницу этого сайта не поддерживается, так как это может привести к зацикливанию, замедляющему работу вашего сайта. Попробуйте использовать другой блок, например блок Последние записи, для отображения записей сайта.
Mikrotik — широко известный в узких кругах производитель маршрутизаторов. Устройства работают на RouterOS, разработанной на базе Linux. В русскоязычном интернете почти нет подробных инструкций по настройке «Микротика» — эту ситуацию надо исправлять! Ниже мы рассмотрим настройку маршрутизатора этого бренда на примере Mikrotik RB951G-2HnD.
Сегодня разберём как можно настроить точку доступа Wi-Fi на Ubuntu Server . Для этого нам потребуется установить два пакета:
sudo apt-get install hostapd dnsmasq
Пропишем расположение конфига для службы hostapd
sudo nano /etc/default/hostapd
#Снимаем коммент со строки и прописываем путь к конфигу
DAEMON_CONF="/etc/hostapd/hostapd.conf"
Теперь настроим службу hostapd
sudo nano /etc/hostapd/hostapd.conf
#Вводим имя своей точки доступа SSID ssid=MyNet #Задаем имя беспроводного интерфейса interface=wlan0 #Выбираем канал channel=7 driver=nl80211 country_code=RU hw_mode=g macaddr_acl=0 #Секция с настройками шифрования wpa=3 wpa_key_mgmt=WPA-PSK wpa_pairwise=TKIP CCMP #Устанавливаем пароль к точке доступа wpa_passphrase=My*Password92
Запустим службу hostapd, и проверим на наличие ошибок
sudo hostapd -d /etc/hostapd/hostapd.conf
Теперь пропишем настройки беспроводного интерфейса wlan0
sudo nano /etc/network/interfaces
auto wlan0 iface wlan0 inet static address 10.0.10.1 netmask 255.255.255.0 #Добавим автозапуск служб после настройки интерфейсов post-up service hostapd restart post-up service dnsmasq restart
Пропишем настройки нашего DHCP-сервера
sudo nano /etc/dnsmasq.conf
#Устройства, подключаемые к этому интерфейсу, будут получать адреса по DHCP interface=wlan0 #Группа адресов, выдаваемых сервером. 12h - срок аренды адреса dhcp-range=10.0.10.10,10.0.10.255,12h #Укажем сервер имен server=/www.google.com/8.8.8.8
И защитим этот файл от перезаписи, ииначе после перезагрузки он вернется с начальными параметрами
chattr +i /etc/resolv.conf
Теперь запустим сервисы и пропингуем камеру
sudo service networking restart
sudo service hostapd restart
sudo service dnsmasq restart
Пропишем маршрут route в секцию eth0 на других компьютерах, чтобы они видели 10.0.10.0/24 сеть компьютера (10.0.0.10), на котором поднята точка доступа