Задать вопрос
  • Как сделать свой proxy сервер?

    https://losst.ru/luchshie-proksi-servery-linux
    я юзаю dante
    тебе нужно арендовать самый дешевый впс
    на нем развернуть поксю и все.
    Ответ написан
  • Зачем создавать символьную ссылку на public_html?

    такой необходимости нет, линукс это конструктор и это один из вариантов его сборки.
    Как правило симлинки исползуются для такой вещи
    /var/www/client322/site3154 /var/www/site.ru
    в таком случае хранятся они под уникальным идентификатором а симлинка это только легкая для просмотра пользователя структара.
    Физически вебсерверу не требуется никаких линок.
    Ответ написан
    2 комментария
  • Как происходит перенаправление apache?

    вы смотрите с точки зрения RFC TCP\IP
    не учитывая что это RFC разработано 60 лет назад и в мире сейчас костыль на костыле костылем погоняет
    С вашей точки зрения демон может отдать или на порт или на айпи
    но вы забыли про костыли ;)
    И так
    демон на одном порту он слушает ваш http referrer ( по сути спрашивает хост у вашего браузера на который вы зашли)
    роется в свих конфигах, ищет нужное знчение
    и подставляет этот конфиг.
    Это справедливо для всех сайтов кроме того когда он один, в таком случае он работает от "дефолта" то есть что то вроде мусорки по этому на него можно зайти как по айпи так и по любому доменному имени.
    Остальные сайты работают по принципу
    явно обьявленные домены в приоритете, если нет то отрабатывает дефолтный конфиг.
    Таким нехитрымм образом можно повешать любое количество сайтов на один айпи и тот же порт.

    Далее же маршрутизацией какой контент показать может быть на любом этпе
    прокся в веб сервере например nginx может иметь отдельные локейшины вплоть до геолокации и тд.
    или апачь то же самое mod_proxy
    в апаче можно через mod_rewrite + чпу сайта там вообще можно накрутить че хочеш.
    в общем дальше механизмы могут уже быть разные
    Ответ написан
    Комментировать
  • Правильно ли монтировать /var на HDD вместо SSD чтобы он прослужил больше?

    shambler81
    @shambler81 Куратор тега Linux
    НЕТ это уже не актуально
    технология трим уже есть на всех дисках, их износ не меньше чем у жестких а порой и того и больше.
    Детские болячки ссд уже прошил
    Ответ написан
  • Linux crontab Не запускает скрипт?

    shambler81
    @shambler81 Куратор тега Linux
    крон не имеет по умолчанию переменных path по этому просто не знает где лежит зип
    вам нужно указать полный путь до команды зип и все заработает.
    узнать где в вашей ос он лежит легко
    which zip

    после этого указать полный путь в моем случае это

    /usr/bin/zip zip -P 12345 ....
    Ответ написан
    Комментировать
  • Какой командный процессор (shell) самый продвинутый и удобный в Linux?

    shambler81
    @shambler81 Куратор тега Linux
    sh - посколкьу это хоть и самый неудобный но самый стандартный и если ты будешь работать на разных серверах то не везде есть отличное от sh и даже bash а главное не всегда можно ставить привычную тебе шел. по этому лучше учиться пользоваться тем что есть везде. А то может получиться что ты работаешь на упавшем продакшен сервере а тебе вместо работы приходится переучиваться к дефолтной шел.
    Ответ написан
  • Как в RewriteRule или RedirectMatch перенаправить на ссылку с недопустимыми символами?

    shambler81
    @shambler81 Куратор тега htaccess
    RewriteRule ^TRPRE/37/О\-232\-885097$ /index.php? [L,R=301]
    Ответ написан
    Комментировать
  • Почему возникает бесконечный редирект в Laravel?

    редирект на индекс и убрать индекс
    думаю собака зарыта тут кэп
    так же ест сервисы которые показывают всю цепочку редиректов https://bertal.ru/index.php
    думаю вам нужно поменять местами эти правила поскольку чпу после индекса изменит урл
    Ответ написан
    Комментировать
  • Бэкап linux (папка + бд) с отправкой в windows?

    shambler81
    @shambler81 Куратор тега Linux
    пойдет ? только wput нужно доставить поскольку он позволяет ограничивать скорость
    так же можно сделать бэкап отдельного сайта в консоли сделав так scrypt.sh site.ru в таком случае будет дамп не всех сатов а только 1. Заточено под битрикс тут бд еще и складываются к сайтам. Если нужно просто все бд то нужно поменять 2 строчки и спрашивать список бд уже у mysql и в цикле дампить их
    #!/bin/sh
    # Пример пути до сайта /var/www/site.ru/web/
    SITEDIR="/var/www"                                  # Папка до названия доменаов
    WEB="web"                                           # Папка после названия доменов (если есть)
    DBCONN="bitrix/php_interface/dbconn.php"            # Откуда читать настройки mysql
    FTPUSER="1111111"                                   # Логин FTP сервера
    FTPPASS="22222222"                                  # Пароль FTP
    FTPHOST="u113948.site.ru"                           # сервер FTP
    FTPDIR="/ks03.ru/site/"                             # папка на FTP
    TMPDIR="/var/backup/site"                           # Где будут храниться временные файлы
    DATE=`date +"%Y-%m-%d"`                             # Формат даты в имени файла
    DATEYM=`date +%Y`/`date +%m`                        # Второй форматы даты
    LIST=${1:-`ls -L $SITEDIR | grep -E ".*\.\w{1,5}" | grep -v "restore.php" | grep -v "klondike.php"`} # Название сайта, тут выбор или аргумент или, регулярка  можно убрать только -L ;) ( не брать вот эти файлы )
    
    test ! -d $TMPDIR/$DATEYM && mkdir -p $TMPDIR/$DATEYM # создаем  структ уру каталогов если их нет
    
    for ELEMENT in $LIST
        do
                    if [ ! -f /$SITEDIR/$ELEMENT/$WEB/$DBCONN ];
                            then
                                echo " Файл $SITEDIR/$ELEMENT/$WEB/$DBCONN не найден, сайт будет без БД!"
                            else
                                mysqldump -u$DBLOGIN -p$DBPASS $DBNAME > $SITEDIR/$ELEMENT/$WEB/$DBNAME\-$DATE.sql && echo "Дамп БД $DBNAME будет сохранен в корне сайта"  ||  echo "Ошибка дампа базы данных " $DBNAME
                    fi
        echo "MySql, чтоб вам прям ну совсем не марать ручки"
        echo "$DBLOGIN"
        echo "$DBPASS"
        echo "$DBNAME"
        echo "Архивируем сайт $ELEMENT"
            tar -cvpzf $TMPDIR/$DATEYM/$ELEMENT-$DATE.tar.gz --directory $SITEDIR/$ELEMENT/$WEB --ignore-failed-read --exclude='./bitrix/tmp' --exclude='./bitrix/updates' --exclude='./bitrix/backup/*\.gz*' --exclude='./bitrix/backup/*\.tar*' --exclude='./bitrix/cache' --exclude='./bitrix/managed_cache' --exclude='./bitrix/stack_cache' --exclude='./upload/resize_cache' --exclude='./stats' . >> /dev/nool 2> /var/log/backup_error.log
            rm -f $SITEDIR/$ELEMENT/$WEB/$DBNAME\-$DATE.sql # поскльку ложим на реальный сайт, ибо нормально добавить в архив не получитяс.
    
            echo "Сохраняем $ELEMENT на FTP"
    
            echo "wput  --basename=$TMPDIR --limit-rate=60000K --timestamping  --remove-source-files --tries=2 $TMPDIR/$DATEYM/$ELEMENT-$DATE.tar.gz ftp://$FTPUSER:$FTPPASS@$FTPHOST$FTPDIR"
            wput --disable-tls --basename=$TMPDIR --limit-rate=60000K --timestamping  --remove-source-files --tries=2 $TMPDIR/$DATEYM/$ELEMENT-$DATE.tar.gz ftp://$FTPUSER:$FTPPASS@$FTPHOST$FTPDIR
            rm -f $TMPDIR/$DATEYM/$ELEMENT-$DATE.tar.gz
    echo -en "\n\033[37;1;41m Ссылочка:\033[0m \e[1;4;36mwget ftp://u148-sub4:W3qyu9NRcVVi51bN@$FTPHOST/$DATEYM/$ELEMENT-$DATE.tar.gz\e[0m\n\n" #ks02
      done
    rm -r $TMPDIR
    Ответ написан
  • Как правильно сделать разбор ссылки в htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    RewriteRule ^lot/([0-9]{1,})$ /\?lot=$1 [NC,L]
    так же не забывайте что GET не является часть RewriteRule и к примеру тот же ? физичек не может бы делен в нем

    если у вас прям вот такой урл с вопросом в конце то
    RewriteCond %{QUERY_STRING} (?:^|&)\$(?:$|&)
    RewriteRule ^lot/([0-9]{1,}))/$ /\?lot=$1 [L,R=301]
    Ответ написан
    Комментировать
  • Что не так с этим htacess?

    shambler81
    @shambler81 Куратор тега htaccess
    ну тут проще сказать что тут так

    1. я писал стандартный .htacces и в нем было все продумано, вы вырезали с него куски,натыкали в разные места и спрашиваете что тут пошло не так.
    К примеру у вас только один кусок отвечающий за убирание слеша, а добавлять слеш на каталоги ваше светейшество решило не делать ибо не судьба ?
    2. htaccess читается сверху в низ и последовательность важна
    3.
    верхнего в нижний регистр итд
    вы так же перемешали правила.
    ну тут чтоб без матюгов я отвечу коротко Линукс регистрозависимая система ( это реально если матюгов и пены) какой "умный" человек вообще придумал делать такие редиректы заслуживает отдельного места в аду.
    4.(Chrome/76.0.3809.10) - только данная версия остальные нет ?
    5.
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    это я так понимаю вы пытались удалить слешы у симлинков и файлов?

    6.#RewriteCond %{REQUEST_URI} !^/$
    ээ вас не смущает что таких ссылок в природе не бывает
    домен закрывается слешем до реврайт рул, то есть это должно быть site.ru//index.php

    в общем у вас правильно только часть ЧПУ движка и то странно разделена поо середине
    напишите что у вас за движок и что вы хотели получить этими редиректами я вам напишу как это должно выглядеть
    Ответ написан
  • REQUEST_URI в Apache чему равен?

    название домена/REQUEST_URI?=GET
    МЕЖДУ ДОМЕНОМ И ГЕТ ЗАПРОСОМ
    Ответ написан
  • Как изменить вывод grep?

    shambler81
    @shambler81 Куратор тега Linux
    find /etc/nginx  -type f  -exec grep -l 3dpaneli.ru {} \; | xargs ls -lah

    find - искать в каталоге
    -type f только имена файлов
    -execвыполнить команду с найденым файлом
    grep -l - не выводить сам греп а выводить имя файла в котором он нашел
    {} - то что на выводе у find
    \; - просто заканчиваем файнд
    |- вывод передаем следующей команде
    xargs ls -lah xargs почитай отдельно короче он передаст вывод пути файла на ls -lah и получаем все че хочеш
    5fd0f0daa8e29240627639.png

    если тебе нужно обрезать вообще все лишнее то тут уже можно awk в общем там уже будет проще удалить лишние колонки
    спасибо кэп, отметил как решенный.
    Ответ написан
    1 комментарий
  • Как сменить владельца на папке /etc?

    shambler81
    @shambler81 Куратор тега Linux
    chown root:root /etc
    Ответ написан
    Комментировать
  • Как настроить nginx тобы порт 80 работал и на http и на https?

    вы RFC ваще читать умеете ?
    вы новый интернет зачем придумываете?
    редирект на https, все !
    Ответ написан
  • Как сделать редирект если в конце цифры?

    shambler81
    @shambler81 Куратор тега htaccess
    Чисто по тз
    RewriteRule ^kak\-ukrasit\-interer\-rakushkami/32\-3/$ /kak\-ukrasit\-interer\-rakushkami/? [L,R=301]

    А вот если у вас всего две цифры тире 1 цифра
    https://regex101.com/r/5I0rz0/1

    А вот если синтаксис такой любое количество цифр тире любое количество цфр
    https://regex101.com/r/5I0rz0/2

    А вот скорее всего что тебе нужно
    https://regex101.com/r/5I0rz0/4
    [^\/]+ - любое количество символов но не слеш
    [0-9]{1,} - цифры от нуля до девяти от одного раза и больше

    (\/|) - слеш или его отсутствие в конце ( не обязательно)
    Ответ написан
    4 комментария
  • Проксирование в apache2 не работает как исправить?

    а что мешает тебе проксировать через php proxy дабы скрипт на гите всего строк 30
    отлично работает и не требует костылей в апаче ?
    Ответ написан
    Комментировать
  • Как поднять DNS сервер Ubuntu 18.04 для vestacp?

    первый домен NS сервера которого ты будешь указывать на остальных доменах тебе нужно будет
    1. зарегистрировать его если его нет.
    2. у регистраторов есть как правило в настройках днс указать днс и айпи, и ты обычно указываешь
    ns1
    ns2
    а тебе нужно указать айпи, собственно они и нужны на тот случай когда ДНС сервер расположен там где расположен сам домен/
    на этих скринах видно что есть поле для айпи и работает оно только когда домен делигируется на сервер где расположен сам домен
    deleg_off.png
    ac-org-ru.png
    В таком случае сам домен у тебя будет делигироваться на сервер где сам же собой управляет.
    3. На веста ты создаешь собственно этот домен
    и добавляешь к нему А записи
    www.site.ru
    ns1.site.ru A тут второй айпи
    ns2.site.ru A тут твой айпи

    4. соответственно теперь любой домен может сослаться на эти ns1.site.ru сервера и дальше все последующие домены делегируешь как обычно тупо на нс сервер первого домена.
    Если у тебя нет второго айпи то тут могут быть проблемы поскольку com зоны и еще некоторые требуют в обязательном порядке отличие IP у этих доменов.
    но и тут можно попробовать второй домен на ipv6
    Ответ написан
    Комментировать
  • Как можно добиться стабильной скорости записи и чтения сетевой папки (шары)?

    причем тут ваши настройки?
    если это вайфай то вопрос в качестве оборудования и занятости канала в текущем месте.
    Если это провод поставьте гигабит или 10 гигабит
    а так же проверьте качество подключения кабелей.
    Ответ написан
    1 комментарий
  • Как настроить проксирование сайта в nginx?

    shambler81
    @shambler81 Куратор тега 1С-Битрикс
    у тебя проблема в том что все маны в интернете по настройке nginx+apache с ошибкой.
    Все они подразумивают перенаправление
    http -> http
    https -> http + костыль
    переделай как положено
    http -> http
    https -> https и все будет норм.
    убрав костыль у тебя в http host пропадет порт
    server {
    ######################################################################
    ## Server configuration 
    ######################################################################
    	listen *:443 ssl http2;
    		server_name 3dpaneli.ru www.3dpaneli.ru   ;
    	root /var/www/3dpaneli.ru/web;
    
    
    ######################################################################
    ## Enable gzip for proxied requests and static files
    ######################################################################
        # Enable gzip for proxied requests and static files
        gzip on;
        gzip_proxied any;
        gzip_vary on;
        gzip_http_version 1.1;
        gzip_types application/javascript application/json text/css text/xml;
        gzip_comp_level 4;
    
    ######################################################################
    ## SSL configuration
    ######################################################################
    # recommended but not manditory directive
    # leave commented out unless you know what it is doing
    #more_set_headers 'Strict-Transport-Security: max-age=15768000';
    	ssl on;
    	ssl_session_cache  shared:SSL:10m;
    	ssl_session_timeout 1h;
    	ssl_protocols TLSv1.2 TLSv1.3;
    	add_header Strict-Transport-Security "max-age=15768000" always;
    	ssl_stapling on;
    	ssl_stapling_verify on;
    	ssl_prefer_server_ciphers on;
    	ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    	ssl_certificate /var/www/clients/client132/web171/ssl/3dpaneli.ru-le.crt;
    	ssl_certificate_key /var/www/clients/client132/web171/ssl/3dpaneli.ru-le.key;
    	ssl_dhparam /etc/nginx/ssl/dhparam.pem;
    ######################################################################
    ## Log configuration
    ######################################################################
    #Все логи отключены  
            error_log /dev/null crit;
            access_log off;
    
    
    ######################################################################
    ## Errors send to apache2
    ######################################################################
    # у апача своих алиасов куча,  а так же некоторая статика отдается 
    # средствамси php, по этому все ошибки обрабатывать только apache2
    	error_page 401 403 404 405 500 502 503 = @fallback;
    	location @fallback {
    		proxy_pass		https://127.0.0.1:4443;
    		proxy_set_header 	Host		$host;
    		proxy_set_header	X-Real-IP	$remote_addr;
    		proxy_set_header	X-Forwarded-For	$proxy_add_x_forwarded_for;
    		proxy_set_header	HTTPS		YES;
    		}
    
    ######################################################################
    ## Locations configuration
    ######################################################################
    #Отключаем логирование ошибок No such file or directory
    ## Disable .htaccess files
    
    	location ~ /\.ht {
    		deny all;
    
    		access_log off;
    		log_not_found off;
    	}
    	##
    	location = /favicon.ico {
    		log_not_found off;
    		access_log off;
    	}
    	##
    	location = /robots.txt {
    		allow all;
    		log_not_found off;
    		access_log off;
    	}
    	##
    ######################################################################
    # сервисы  на сайте phpmyadmin почта и letxencrypt
    	location /phpmyadmin/ {
    		deny all;
    		root  /usr/share/phpmyadmin/;
    	}
    	##
    	location /webmail/ {
    		rewrite ^/(.*)$ https://$http_host:8080/$1 permanent;
    	}
    	# letsencrypt 
    	 location /.well-known/acme-challenge/ { 
    	 	alias /usr/local/ispconfig/interface/acme/;
    	 	default_type text/plain;
    
    	 }
    # static content 
    # Отдаем статику напрямую с nginx
    	location ~* ^.+\.(jpg|jpeg|svg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|swf|flv|mp3)$ {
    		root  /var/www/3dpaneli.ru/web;
    		access_log off;
    		expires max;
    		gzip_static on;
    	}
    # default location
    	location / {
    		index index.php index.html index.htm;
    		proxy_pass		https://127.0.0.1:4443;
    		proxy_set_header 	Host		$host;
    		proxy_set_header	X-Real-IP	$remote_addr;
    		proxy_set_header	X-Forwarded-For	$proxy_add_x_forwarded_for;
    		proxy_set_header	HTTPS		YES;
    		}
    }

    ну и тоже самое без https

    server {
    	listen *:80;
    	server_name 3dpaneli.ru www.3dpaneli.ru   ;
    	root /var/www/3dpaneli.ru/web;
    ......
    proxy_pass		http://127.0.0.1:82;
    ....
    }
    Ответ написан