пятница, 24 ноября 2023 г.
Debian. Изменение Time, Date и Timezone
вторник, 20 июня 2023 г.
Создание нескольких виртуальных хостов (Apache2 vhosts)
Источник: https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-18-04-ru#
Шаг 1. (НЕ ОБЯЗАТЕЛЬНО) Обновляем ОС Debian и устанавливаем Apache2:
# sudo apt-get update && sudo apt-get upgrade
#sudo apt-get install -y apache2
Шаг 2. Создаем каталоги для сайтов:
#sudo mkdir -p /var/www/test1.local
#sudo mkdir -p /var/www/test2.local
Шаг 3. Даем права пользователю на каталоги сайтов:
#sudo chown -R user:user /var/www/test1.local
#sudo chown -R user:user /var/www/test2.local
#sudo chmod -R 755 /var/www
Шаг 4. Создаем конфигурации для сайтов:
<VirtualHost *:80>
ServerName test1.local
ServerAdmin admin@test1.local
DocumentRoot /var/www/test1.local
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
#sudo nano /etc/apache2/sites-available/test2.local.conf
ServerName test2.local
ServerAdmin admin@test2.local
DocumentRoot /var/www/test2.local
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Шаг 5. Проверка конфигурации Apache2
#apachectl -t
[ Syntax OK ]
Шаг 6. Активация конфигурационных файлов
#sudo a2ensite test1.local.conf
#sudo a2ensite test2.local.conf
Шаг 7. Деактивация сайта по умолчанию
#sudo a2dissite 000-default.conf
Шаг 8. Перезагрузка сервера Apache2
#sudo systemctl restart apache2
#sudo systemctl status apache2
Шаг 9. Настройка файла hosts
В ОС Linux /etc/hosts
В ОС Windows c:\Windows\System.32\Drivers\etc\hosts
добавляем две записи для 2-х созданных виртуальных хостов:
IP_вашего_web_сервер test1.localчетверг, 23 марта 2023 г.
PHP, ООП, автозагрузка классов (файлы классов в разных каталогов)
При разработке web-приложения на языке PHP с применением средств объектно-ориентированного программирования (ООП), удобно использовать автоматическую загрузку классов, особенно когда классов много, чтобы не использовать require_once или include для каждого файла, содержащего определенным класс.
Каждый класс хранится в отдельном файле.
{
public static function register()
{
ini_set('unserialize_callback_func', 'spl_autoload_call');
private static function autoload($class)
{
foreach (self::$dir_list as $dir)
}
вторник, 7 марта 2023 г.
Debian + php + ssmtp (Отправка почты с VDS или VMWare Player)
1. Обновляем Debian
sudo apt-get updat
sudo apt-get upgrade
2. Устанавливаем ssmtp
sudo apt-get install ssmtp
3. Устанавливаем mailutils (для использования `mail` в php-скрипте)
sudo apt-get install mailutils
4. Создаем учётную запись на почтовом сервер Yandex, например, user@yandex.ru с паролем user_111.
4.1. Заходим в настройки Яндекс.Почты созданного профиля и разрешаем "Все настройки" -> "Почтовые программы" и разрешаем доступ к почтовому ящику с помощью почтовых клиентов.
4.2. Создаем отдельный пароль для приложения, чтобы не сообщать сторонним сервисам ваш общий пароль на Яндексе (не помню где именно эта ссылка, можно найти через yandex.ru).
5. Добавляем к концу файл /etc/ssmtp/revaliases (используется для отправки письма с командной строки от имени учётной записи `root` и от исполнительного имени web-службы `www-data`)
root:user@yandex.ru:smtp.yandex.ru:465
www-data:user@yandex.ru:smtp.yandex.ru:465
root@palem:~# echo "Test message!" | ssmtp user@yandex.ru
Nginx + Let's Crypt
Шаг 1. Установка Certbot # apt-get install python3-acme python3-certbot python3-mock python3-openssl python3-pkg-resources python3-pyparsing...
-
По памяти: После установки Debian 12 Шаг 1. Обновляем систему с применением обновлений: #> apt-get update && apt-get upgrade -y ...
-
using System; using System.IO; using System.Runtime.InteropServices; using System.Security.Principal; namespace LogonUser { ...
-
Дистрибутив (файл OracleXE112_Win32.zip) можно взять на официальном сайте корпорации Oracle (требуется регистрация): http://www.orac...