Ответы пользователя по тегу Apache HTTP Server
  • Где можно почитать про RewriteCond?

    сделай символическую линку и пусть себе открываются
    RewriteCond тут не нужен, мало того конд это ЕСЛИ, а у тебя ТО стоит выше
    Как минимум конструкция смотрится так

    RewriteCond
    RewriteCond
    RewriteRule

    А у тебя редирект вначале потом условие, странно как-то
    Ответ написан
    5 комментариев
  • Как установить Zend Engine?

    Zend Optimizer- до PHP5.3
    Zend guard loader - до PHP5.6
    Zend guard - нет для 7
    Но точно есть IonCube Loader для 7
    Ответ написан
    Комментировать
  • Что делать после настройки веб-сервера?

    shambler81
    @shambler81 Куратор тега Linux
    Линукс это конструктор, какой вам нужен мануал как пользоваться конструктором ?
    У вас есть детали и вам дали ман как они работают, а что вы хотите с этого собрать это уже ваша проблема.
    Ваше решение стоит в сборках. ( веб морды для управления веб серверами)

    Bitrix VM - отлично оптимизированно, ставится на любые виртуальные машины и чистый centos, в 1 нажатие.
    Имеет удобную консольную админку, прес 1 прес2 там и letsencrypt и backup и тд и тп.
    Vestacp - ставится так же одной командой, при инсталяции можно выбирать настройки.
    braynicp - большая может много ставится в 1 клик, не очень удобынй интерфейс, но функционала вагон и тележка.
    ispconfig3 - вот тут большие мануалы ;) вам понравится. Я пользуюсь ей просто кастомлю под себя.
    чистый веб свервер и просто файлы для редактирования не совсем удобны, хотя и имеют место быть.
    Ответ написан
    2 комментария
  • Как изменить директорию APACHE?

    1. если вы делаете веб сервер то LAMP не совсем то что нужно в нем нет никакой админки, что неудобно для администрирования.
    2. Зачем вам менять директорию ?
    3. Можно просто сделать символическую линку.
    4 Поменять конфиги но опять же если вы не знаете как это сделать вам лучше поставить админку.

    Варианты
    Битрикс ВМ - консольная админка прес 1 прес 2 прес 3 и тд, консольная но удобная, ставится 1 скриптом или на любую вм
    Vestacp - устанавливается в 1 клик
    Brainycp - ставится в 1 клик
    ispconfig3 - ставится нифига не в 1 клик но я юзаю ее, но если ты сможешь ее поставить то не будешь задавать таких вопросов ;)
    webmin - помоему там тоже есть веб сервер. можно из репозитория поставить
    Ответ же на твой вопрос, лежит в папке /etc/apache2 или /etc/httpd там лежат конфиги найди в котором прописан DocumentRoot "/srv/http" и измени его.
    Ответ написан
  • Почему отображается php текстом?

    Вот так можно сделать то что у тебя сейчас.
    Ну или не объявить их вообще.
    <IfModule mod_mime.c>
            <Files ~ \.(php|php3|php4|php5|php6|phtml|pl|asp|aspx|cgi|dll|exe|shtm|shtml|fcg|fcgi|fpl|asmx|pht|py|psp|rb|var)>
                    SetHandler text/plain
                    ForceType text/plain
            </Files>
    </IfModule>
    <IfModule mod_php5.c>
            php_flag engine off
    </IfModule>

    На вашем месте я бы рекомендовал следующее.
    1. если это новая вм то поставьте на нее Битрикс ВМ и измените mbsting ... 2 на 0 ( все остальные настройки отлично подойдут)
    Получите в 1 клик отлично оптимизированную систему с удобной консольной мордой.
    0b6b3ad33a696ba4ddf418eeed659730.png
    у вас не будет больше необходимости копировать конфиги и запускать самостоятельно letsencrypt
    Системы кеширования и оптиизировать конфиги под ваше железо.
    Ответ написан
  • Как убрать GET из URL?

    shambler81
    @shambler81 Куратор тега htaccess
    RewriteCond %{QUERY_STRING} (^|&)(.+)\=([0-9]{1,})($|&)
    RewriteRule ^q$ /%2/%3? [L,R=301]


    где (^|&)....($|&) - не важная штука
    (.+) - любое больше чем 1 буква или цифра
    ([0-9]{1,})- любые цифры но не менее 1.
    ^q$ - то что было в урле до GET
    %2 - вторая группа из RewriteCond - аналог $2 из RewriteRule
    ? - удалить гет параметры.
    Ответ написан
    5 комментариев
  • Как сделать прозрачный редирект?

    1. CNAME - редирект
    2. Алиасами и все-равно вам прийдется выдать letsEncrypt на эти домены.
    поскольку при работе через https все работает не как всегда
    В апаче есть костыль, собственно их там миллион но не в этом дело.
    Когда в свое время встал вопрос о нахождение 2 и более сайтов на одном порту и одном IP , то естественно RFC TCP\IP менять никто уже не стал, ибо поздно.
    Был придуман костыль суть его такая
    при обращению к апачу, он разберает http rerfery смотрит имя хоста в заголовке и подставляет конфиг нужного тебе хоста, в результате ты можешь держать более 2 сайтов на 1 IP
    Теперь вопрос
    какой контент вы получите по защищеному протоколу ДО подтверждения ключей?
    Правильно никакого, а следовательно и редиректы вам не светят, вам придется сделать сертификаты для этих доменов, чтоб они хоть байт отдали.
    Но это еще не все
    это уже не 80 а 443 порт, как следствие если на вашем сервере открыт этот порт, то есть любой из сайтов имеет хоть 1 сертификат, то все остальные сайты и домены автоматически пытаются с них отдаться. и НЕТ не достаточно просто удалить с конфига этих сайтов 443 порт, поскольку апачь его уже слушает.
    И тут возникает еще один костыль.
    Если у вас выдан сертификат одному из доменов а остальные его не имеют и пусть даже не имеют вообще в конфигах 443 порта, то апачь знает о их существование и попытается сделать самую очевидную вещь в мире.
    А именно он подберет (ближайший конфиг с сертификатом) ближайший по алфавиту!
    То есть подставит чужой конфиг и чужой сертификат (а вот домен останется), и по этому домену откроется чужой сайт!
    в вашем случае этим тоже можно воспользоваться и оно даже решит задачу, но это решение в корне не правильное. Например на своих серверах для блокировки такого поведения мне приходится специально сайтам без https выдавать сертификат дефолтный, и уже в конфигах nginc+ apache прописывать в servers и host что этот сайт нужно заблочить и отдать 40X код
    Ответ написан
    Комментировать
  • Как поменять абсолютный на альяс путь в Apache, .htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    1 я бы вам посоветовал отказаться от сервера "c:/server/projects/localhost/joomla/"
    тем более есть замечательные вещи типа openserver
    2. вариантов много например Basedir в .htaccess
    3. через apache
    4. скорее всего вам это и подойдет, есть пути относительные и абсалютные
    https://www.uamedwed.com/blog/web/absolyutnyj-i-ot...
    так же не забывайте что и протокол теперь может быть разным, по этому //
    ну и на последок
    это из пункта 1 следует
    есть symlink и relative symlink в линуксе
    Ответ написан
  • Как объединить 2 условия для редиректа (без www и на https) в одно правило в htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    не нужно, уже много раз обсуждали.
    Ответ написан
    Комментировать
  • Функция mkdir не создает папку с разрешениями 775 и 777, а создает в обоих случаях 755. В чем дело?

    не нужно создавать 777, это говорит о том что у вас ошибка с правами. но это не повод ее решать таким поводом.
    Ответ написан
    Комментировать
  • Как настроить 301 редирект с верхнего регистра на нижний только для псевдодирректорий (мультиязычный сайт)?

    shambler81
    @shambler81 Куратор тега htaccess
    НИКАК! дайте угадаю вам это сеошник предложил?
    так вот плюньте ему в физиономию.

    Во первых это никак не влияет на сео
    Во вторых linux это регистрозависимая ОС в отличие от windows в ней нельзя взять и просто опустить регистр.
    если у вас есть файл
    Images.jpg
    images.jpg
    images.JPG
    Это совершенно разные файлы на уровне файловой системы.
    То же самое с ЧПУ, не факт что ваш движок регисронезависимый, скорее наоборот.
    Короче такую шляпу рекомендуют люди которые просто вообще не понимают как работает веб сервер.

    ТАк же очень странная шляпа вот это
    RewriteRule [A-Z] - [N]
    RewriteCond %{ENV:HASCAPS} TRUE
    RewriteRule ^/?(.*) /$1 [R=301,L]

    Что вы пытались сделать этим?
    Вот я пытаюсь каждую строчку хоть как-то понять и не понимаю
    RewriteRule [A-Z] - [N] - он и без вас пойдет на следующий раунд, мало того L его не остановит, я уже не говорю о том что тут указана 1 буква верхнего регистра и все то есть например site.ru/S
    RewriteCond %{ENV:HASCAPS} TRUE - не понятно зачем это тут вообще
    RewriteRule ^/?(.*) /$1 [R=301,L] - GET параметр не является частью урла в принципе и RewriteRule его вообще видеть не умеет !
    если вы хотели удалить все гет параметры то делается это как-нибудь так RewriteRule - /$0? [R=301,L]
    Ответ написан
  • Как сделать любой поддомен сайта зеркалом определенной страницы?

    shambler81
    @shambler81 Куратор тега htaccess
    создай отдельный сайт с документ рут в папку /landing и все

    RewriteCond %{HTTP_HOST} ^some\.site\.ru$
    RewriteRule ^page1203$ https://ome.site.ru/? [L,R=301]
    Ответ написан
  • Как настоить переадресацию с http на https, чтобы все запросы принимал index.php?

    вы пытаетесь соединить ЧПУ и редирект в одно правило.
    Оно делается в одном файле конечно, но разными правилами
    и так
    1 у вас каким образом обрабатывает урл пхп насколько я понимаю это GET
    если да то напишу вам правило.
    Ответ написан
  • Httpd апачи не завершает процессы по timeout?

    StartServers 2
    MinSpareServers 2
    MaxSpareServers 4
    вы серьезно?
    Ответ написан
  • Какая причина ошибки Let's Encrypt validation status 400?

    У вас phpmyadmin на каждом сайте и никто не создает его руками на каждом сайте, соответственно ровно так же сделайте и
    well-known/acme-challenge

    Создайте файл
    /etc/httpd/conf/extra/httpd-acme.conf:
    Впишите в него вот это
    не забудьте в этот раз создать все каталоги по дороге
    Теперь на любом из сайтов по этой ссылке будет уходить сразу в этот каталог
    Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/"
    <Directory "/var/lib/letsencrypt/">
        AllowOverride None
        Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
        Require method GET POST OPTIONS
    </Directory>

    Включив это в /etc/httpd/conf/httpd.conf:

    Include conf/extra/httpd-acme.conf
    Перезапустите
    Убедитесь что веб серверу хвататет прав на просмотр и редактирование файлов в этом каталоге
    под правами я подразумеваю не толко chmod но и chown
    права будут разные в зависимости от веб сервера и ОС

    Есил у вас в httpd conf инклудится вся директория /etc/httpd или /etc/apache2/site-enabled, то можно просто положить там конфиг. и все
    соответственно вот второй вариант, тут с правами точно будет все норм
    Alias /.well-known/acme-challenge/ "/var/www/html/.well-known/acme-challenge/"
    <Directory "/var/www/html/">
        AllowOverride None
        Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
        Require method GET POST OPTIONS
    </Directory>

    как правило эта папка есть при создание веб сервера, и права у нее уже правельные.
    Ответ написан
    1 комментарий
  • Как сделать автоматические поддомены CentOS 7?

    1. ceotns тут не особо причем а вот apache или nginx и какое представление пхп у вас, вот это влияет.
    2. создать суб домены можно несколькими вариантами, опять же в зависимости от того что вы хотите.
    Короче
    Какой веб сервер или их связка
    вид представления пхп
    какая веб панель если есть.
    Ответ написан
    7 комментариев
  • На VPS в access.log apache вместо IP посетителя записывается внешний IP самой VPS. Как записывать нужный IP?

    Проблема связана с тем что у вас на сервере используется apache+nginx связка
    в результате обращение к апачь идет от nginx собственно он его логи и пишет.
    Для устранения данной проблемы используется mod-rpaf
    Суть его в том что он подставляет в логи вместо айпи прокси, реальные айпи посетителей nginx.
    Есть еще пара тем которые он якобы делает но это хрень, поскольку все маны в интернете написаны с ошибкой и подмена протокола по факту не работает, но к сути это не относится.
    Все что вам нужно это зайти в его конфиг и правильно выставить значение. RPAFproxy_ips
    Ответ написан
    Комментировать
  • Какой правильный синтаксис If-выражения в apache2?

    не придумайте велосипед на пустом месте.
    Конфиги генерить нужно под каждый сайт. Следовательно и всю эту шляпу тоже.
    Все ваши иф и должны быть в шаблоне генератора.
    Ответ написан
  • Как настроить связки nginx + apache и nginx + php-fpm на одном сервере?

    shambler81
    @shambler81 Куратор тега Linux
    у вас три файла
    1. общий который для неразобраных запросов по сути это мусорка, первый сайт на обычно висит на нем, но это неправильно поскольку это какраз таки ВСЕ домены то есть именно то что ведет здрасти вы на сервере.
    2. У вас два конфиа в которых прописаны явно хосты и в одном из них указан прокси, а во второ FPM
    3. У вас ssl выданы для каждого сайта, нельзя выдать ssl одному сайту ( специйфика подключения по SSL) если он есть хоть у одного сайта он появляется и у остальных. НО это отдельная тем.
    И так
    1. Удалите дефолтный конфиг он вам не нужен
    2. удалите дефолтный для ssl поскольку он будет только мешать
    3. выдайте клюии на каждый сайт
    4. Укажите проксми в одном файле
    5. Укажите FPM в другом файле
    6. если у вас конфиги для ssl вынесены в отдельные файлы
    например
    site1.ru_ssl.conf - то в них тоже измените все настройки.
    И все у вас будет работать
    Ответ написан