Записки системного администратора
  • Главная
      • безопасность apache2
      • массовое изменение прав chmod chown
      • nexcloud при стандартной установки не хватает пакетов
      • начало пути с nginx
      • система otrs debian
      • goaccess парсинг логов по домену
      • обновление clamav
      • mysql adminer
      • обновить phpMyAdmin на debian 11
      • Как отследить источник Aborted_connects mysql server
      • несколько версий php на сервере
      • default php
      • openvpn-as
      • openvpn-as debian 11 install
      • openvpn debian 12 install
      • openvpn debian 12
    • utm эгаис
    • создание swap debian 10/11
      • minio mc.exe minio --help
      • s3 хранилище minio debian 11 letsencrypt
      • политики для пользователей minio
      • minio перенос policies и users
      • minio nginx letsencrypt
      • Обновление minio
    • debian-transmission nginx letsencrypt debian 11
    • conky debian 11
    • переход с wmvare на proxmox
    • proxmox с общим хранилищем под backup
    • монтирование NFS не привилегированный контейнер lxc
    • увеличиение дискового пространства ВМ proxmox
    • отправление уведомление smtp proxmox
    • создание и подключение LVM proxmox
    • увеличение дискового пространства ВМ proxmox
    • proxmox расширение lvm
    • Обновление Proxmox 6 до 7
    • запуск openvpn в lxc не привилегированном контейнере
    • proxmox ansible-playbook автоматизируем создание и запуск VM
    • ansible шаблоны debian ubuntu
    • Обновление portainer&agent docker sworm
      • Установка jenkins docker
      • Обновление Jenkins в docker контейнере
      • Очистка старых записей в jenkins docker
      • При деплое выходит ошибка Failed to clean the workspace
    • docker && docker-compose
      • установка kubernetus debian 11
      • kubernetus что дальше после установки
      • создание манифестов
      • dashboard kubernetus
    • pfsense блокировка https
    • nextcloud + onlyoffice = для малого бизнеса
    • Облачное хранилище nextcloud
  • Навигация
  1. Вы здесь:  
  2. Главная
  3. linux
  4. openvpn
  5. openvpn debian 12 install
  6. Uncategorised

начало пути с nginx

Информация о материале
Автор: Павел
Категория: Uncategorised
Опубликовано: 18 ноября 2021
Просмотров: 1066

nginx

apt install ca-certificates apt-transport-https

wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -

echo deb https://packages.sury.org/php/ stretch main | tee /etc/apt/sources.list.d/php.list

apt update

apt install php7.4-fpm php7.4-cli php7.4-common php7.4-curl php7.4-mbstring php7.4-mysql php7.4-xml php7.4-gd php7.4-zip php7.4-bcmath

service php7.4-fpm reload

apt install nginx

server {
        charset utf-8;
        client_max_body_size 0;
        listen 80; ## listen for ipv4
        server_name superskid.ru www.superskid.ru;
    #    include inc_letsencrypt;
        # Редирект с http на https.
    location / {
        return 301 https://$host:443$request_uri$args;
    }
        root        /var/www/superskid.ru/web;
    
        index       index.php index.html;
        

        access_log  /var/log/nginx/ngixn-cp.access.log;
        error_log   /var/log/nginx/ngixn-cp.error.log;
       
       location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
        try_files $uri =404;
    }
       
       
       location ~ ^/assets/.*\.php$ {
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
            
            
        }
         
    }
    
    server {

    client_max_body_size 0;
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name superskid.ru www.superskid.ru;


proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
send_timeout 300;

 


    # Подключаем все необходимое для ssl.
    ssl on;
    ssl_certificate /etc/letsencrypt/live/superskid.ru/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/superskid.ru/privkey.pem;
    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:50m;
    ssl_session_tickets off;
    ssl_dhparam /etc/nginx/dhparam.pem;
    ssl_protocols TLSv1.2;
    ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
    ssl_prefer_server_ciphers on;
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
    ssl_stapling_verify on;
    ssl_trusted_certificate /etc/letsencrypt/live/superskid.ru/chain.pem;
    resolver 8.8.8.8;
           root        /var/www/superskid.ru/web;
        
    index index.php;
    add_header X-Frame-Options "SAMEORIGIN";
    add_header x-xss-protection "1; mode=block" always;
    add_header X-Content-Type-Options "nosniff" always;
    
    
        location ~ /.well-known/acme-challenge {
     root /var/www/superskid.ru/;
     allow all;
  }
    
    
    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }
    location ~ ^/assets/.*\.php$ {
    
            deny all;
        }
        

location /phpmyadmin/ {                               
    alias   /usr/share/phpmyadmin/;
    index   index.html index.htm index.php;
} 
        
        
location /nginx_status_page {
    stub_status on;
    access_log   off;
    allow 127.0.0.1;
    deny all;
  }
        
        
        # Compression.
    gzip on;
    gzip_min_length 10240;
    gzip_proxied expired no-cache no-store private auth;
    gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml;
    gzip_disable "msie6";
    open_file_cache max=200000 inactive=20s;
    open_file_cache_valid 30s;
    open_file_cache_min_uses 2;
    open_file_cache_errors on;
      location ~ \.php$ {
      
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
            try_files $uri =404;
        }
        
           location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
        try_files $uri =404;
    }
    
    location ~ ^/assets/.*\.php$ {
            deny all;
        }
        
    #     location ~* /\. {
    #        deny all;
    #    }
        access_log  /var/log/nginx/frontend-cp.access.log;
        error_log   /var/log/nginx/frontend-cp.error.log;
    }
   

ln -s /etc/nginx/sites-available/superskid.ru /etc/nginx/sites-enabled/superskid.ru

service nginx reload

nginx -t

apt install python-certbot-nginx

Пример теста получения сертификата:

certbot certonly --manual -d *.superskid.ru --agree-tos --no-bootstrap --manual-public-ip-logging-ok --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory

Добавляем записи в DNS TXT

Кроме сертификата необходимо сгенерировать ключ:

openssl dhparam -out /etc/nginx/dhparam.pem 4096

apt install mysql-server php7.4-mysql phpmyadmin

При установки phpmyadmin ни каких модулей не выбираем, оставляем пустое окно и нажимаем далее

mysql_secure_installation

Remove anonymous users? : y

Disallow root login remotely? : y

Remove test database and access to it? : y

Reload privilege tables now? : y

Перевыпуск сертификатов

certbot renew

 


    

apache2

Информация о материале
Автор: Павел
Категория: Uncategorised
Опубликовано: 18 ноября 2021
Просмотров: 7183

материалы в этом разделе

Безопасность Apache2

массовое изменение прав chmod chown

 

массовое изменение прав chmod chown

Информация о материале
Автор: Павел
Категория: Uncategorised
Опубликовано: 18 ноября 2021
Просмотров: 1137

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

Итак, в первую очередь нужно запомнить, что все сайты/папки вашего сайта должны иметь владельца такого же, под которым работает веб-сервер. И группу тоже. В Ubuntu по умолчанию это www-data:www-data. Изначально владелец и группа дается сайту в момент создания, поэтому, если вы заливали ваш сайт под рутом, или другим пользователем, изначально владельцем станет этот пользователь!

Второе что необходимо запомнить: права на папки - 755, на файлы - 644. Это значит, что никто кроме apache не сможет как-то изменить/убить ваш сайт.

Массовое изменение владельца и группы:

chown -R www-data:www-data /var/www/site.ru

Массовое изменение прав на файлы и папки:

find /var/www/site.ru -type f -exec chmod 644 {} 

find /var/www/site.ru -type d -exec chmod 755 {} 

Все проверяем права

ls -l /var/www/site.ru

Радуемся

Безопасность Apache2

Информация о материале
Автор: Павел
Категория: Uncategorised
Опубликовано: 18 ноября 2021
Просмотров: 1456

Строим оборону для Apache2, PHP, MySQL Скрываем информацию об операционной системе, версии apache, php на страницах 404, 500, 403 и т.д. 
/etc/apache2/conf.d/security ServerSignature Off ServerTokens Off (Отвечает за отображение информации о сервере в http заголовках) 
ServerTokens Prod Редактирем файл php.ini: expose_php = Off (Отвечает за показ версии интерпретатора php. Может принимать значения Off/On. 
Его тоже убираем с глаз долой) Защита через ограничение ряда функций в PHP. В конфигурационном файле /etc/php5/apache2/php.ini, и редактируем следующие переменные:

safe_mode_exec_dir=/home/http 
разрешаем запуск программ только из специального каталога. 
disable_functions=system;— отключаем unix функции (killall, chown, rm и т.д.)

safe_mode on;— запретить выполнять команды на сервере с помощью php, но мы все равно сможем просматривать и редактировать шеллом файлы на которые у нас есть доступ. А доступ у нас есть на все файлы на которые есть доступ у Apache.

В Ubuntu и в Debian Apache работает от имени пользователя www-data и группы www-data.Так что мы имеем доступ на чтение на все файлы c правами 644, даже если они пренадлежат другим пользователям и полный доступ на файлы и директории, принадлежащие www-data.

Защита через ограничение ряда функций в Apache. Hахожу файл конфигурации виртуального хоста, и внутри директивы VirtualHost добавляю разрешение обработки скриптов PHP php_admin_flag engine on. Осталось задать значения переменных PHP-машины open_basedir, include_path, upload_tmp_dir, safe_mode_include_dir для ограничения области работы с файлами моим домашним каталогом.

php_admin_flag engine on php_admin_value open_basedir /srv/~php_admin_value include_path .:/srv/~ php_admin_value upload_tmp_dir /srv/~/www/tmp php_admin_value safe_mode_include_dir /srv/~/www/tmp

Запуск виртуальных хостов от разных учетных записей

Необходимо разграничить доступ на уровне apache. По сути, нужно, что бы Apache запускался для каждого пользователя под своим логином, для чего это нужно?

Ситуация: У нас есть сервер, где много разных хостов и нужно разграничить доступ. Установка apache2-mpm-itk может удалить apache2 и apache2-mpm-prefork Устанавливаем: $ sudo apt-get install apache2-mpm-itk Далее, прописываем к каждому виртуальному хосту следующее: <IfModule mpm_itk_module> AssignUserId USER GROUP /IfModule> Создаем новую группу: $sudo groupadd friend Создаем пользователя vasya в группе friend:

$sudo useradd -s /bin/false -d /home/vasya -m -g friend vasya Далее, необходимо установить права владения файлов у виртуальных хостов: $sudo chown MYUSER:MYGROUP /var/www/my-virtualhost/ -R Активировать этот модуль через a2enmod НЕ нужно. Перезапускаем Apache2: 
$ sudo /etc/init.d/apache2 reload Вот и все! По крайней мере от дурака мы с вами защитились =)

Запуск облачного хранилища с онлайн редактором onlyoffice

Информация о материале
Автор: Павел
Категория: Uncategorised
Опубликовано: 17 ноября 2021
Просмотров: 78442

Много воды утекло, с момента написания главной страницы своего сайта (записной книжки).

Хочу поделиться своим опытом по внедрению облачного хранилища для малого офиса, для офисов в 100 пользователей. С чем мне пришлось столкнуться, это решение клиента для меня закон. Предложения от меня поступали только тогда когда вытянуть со слабого оборудования не получается. Или как всегда не хватает финансирования. Все таки малый бизнес, надо экономить.

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

Дальнейшие шаги ставим nextcloud 25.0.4 релиз, дальше от руководителя офиса, встает вопрос, как это все работает, я объяснял на пальцах, т.к и руководителю надо в нем работать, в итоге. Он научился создавать папки, шарить их для пользователей, все пользователи учились, самое главное сами пользователи начали руководителя обучать в узких местах облачного хранилища, по установке пароля (особенно по срокам и так далее.)

Следующий вопрос (задание) от руководителя. Можно ли как то работать в браузере редактировать документы такие как word, excel, power point. Решил все изучить, есть два решения (я рассматривал только free версии), а их не так много.

- onlyoffice

- libreoffice

Изучив их вдоль и поперек, было принято решение поставить на такую вот тачку

   
Процессор Intel
Тип процессора Core i3-7100
Количество ядер 2
Частота процессора 3.9 ГГц
Кэш-память 3 МБ
Оперативная память(RAM) 8 ГБ DDR4
Макс. оперативная память 32 ГБ
Макс. оперативная память 32
Жесткий диск Жесткий диск (HDD) red 1000 ГБ 2 шт

 

Решил все виртуализировать, и так получилась proxmox 6, первая виртуалка это для облачного хранилища, а вторая для onlyoffice. Счастья сотрудникам не было предела, так как не надо думать как, а самое главное откуда брать финансы на покупку дорогущего продукта от MS.

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

Страница 7 из 7

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

Партнеры

skid.crm

Система СКИД - онлайн приложение

для автоматизации строительного
контроля и ведения документации
по строительным объектам

Map
Cервер и сайт запущен 2011.02.01 на Debian
© 2025 Записки системного администратора. Все права защищены.
Joomla! CMS - программное обеспечение, распространяемое по лицензии GNU General Public License.