Как установить mod_cloudflare для easyapache 4

#apache #cpanel #centos7 #cloudflare #easyapache-4

#apache #cpanel #centos7 #cloudflare #easyapache-4

Вопрос:

Я пытаюсь установить mod_cloudflare для Apache с помощью easyapache 4 на сервере cPanel. Я использую CentOS 7.2.

Я установил mod_cloudflare для EasyApache4, следуя инструкциям в разделе Вариант 2 здесь. После запуска установщика он сказал «Готово. Пожалуйста, перезапустите EasyApache 4 «. Затем я зашел в WHM -> EasyApache 4 и попытался найти серверный модуль, но его не удалось найти. Я нажал кнопку «запустить обновление системы» и попробовал еще раз, но безрезультатно. Существует ли служба easyapache, которую необходимо перезапустить через командную строку?

Я не хостинг-провайдер, поэтому я не пробовал плагин Cloudflare для cPanel.

* Редактировать 4/9/2019 * Изменение принятого ответа на EasyCo, поскольку исходное решение больше не работает.

Ответ №1:

Решил добавить свое решение в микс, используя Centos 6.9 с WHM / cPanel.

 bash <(curl -s https://raw.githubusercontent.com/cloudflare/mod_cloudflare/master/EasyApache/installer.sh)
wget https://raw.githubusercontent.com/cloudflare/mod_cloudflare/master/mod_cloudflare.c
yum install ea-apache24-devel
apxs -a -i -c mod_cloudflare.c
rm /etc/apache2/conf.modules.d/mod_cloudflare.conf
service httpd restart
  

Что происходит?

  1. Мы используем cPanel installer.sh , как предложено Cloudflare, но mod_cloudflare.so при последующем запуске скомпилированный выдает ошибку service httpd restart . Давайте исправим это.
  2. Загрузите исходный mod_cloudflare файл.
  3. Убедитесь, что у нас есть правильные инструменты разработчика EasyApache4 для сборки mod_cloudflare модуля.
  4. Создайте и установите модуль расширения.
  5. Удалите новый mod_cloudfare.conf файл, поскольку мы предпочитаем тот, который был сгенерирован и установлен на шаге 1.
  6. Перезапустите apache.

Примечание: mod_cloudflare Модуль не будет отображаться в EasyApache4. Вы можете видеть, что он включен при запуске httpd -M | grep cloudflare , и вы должны увидеть что-то вроде cloudflare_module (shared) .

Ссылки:

Комментарии:

1. Результатом, который я получаю от этой httpd ... команды, является неприятная ошибка, httpd: Syntax error on line 259 of /etc/apache2/conf/httpd.conf: Syntax error on line 1 of /etc/apache2/conf.d/cloudflare.conf: Cannot load /usr/lib64/apache2/modules/mod_cloudflare.so into server: /usr/lib64/apache2/modules/mod_cloudflare.so: undefined symbol: ap_log_rerror . Есть предложения? (Это после использования официального метода установки, как указано в OP)

2. Итак, я просмотрел ваши инструкции, и это ЕДИНСТВЕННЫЙ метод, который я нашел, который действительно работает. Принятое решение и все другие, которые я нашел, не сработали. Спасибо за публикацию этого.

3. @inspirednz Нет проблем. Что вызвало проблему в вашем первом комментарии?

4. Официальный метод установки устанавливает mod-cloudflare.so то, что apache не нравится. Я удалил этот файл, а затем пошел с вашим методом. Проблема решена.

5. это может быть очевидно для некоторых или, возможно, просто ситуативно, но httpd разбился после шага 3, вам нужно будет продолжить выполнение остальных шагов и запустить httpd, и все будет хорошо. Добавляю этот комментарий, потому что, если бы я знал, что этого ожидать, у меня не было бы сердечного приступа!

Ответ №2:

Я нашел решение, которое отлично работало.

Этот проект github устанавливает модуль и добавляет его в EasyApache, чтобы при будущих перестроениях модуль оставался активным. Это было единственное решение, которое я нашел, которое действительно работает для EasyApache 4. Все остальное, похоже, для EasyApache 3.

CloudFlare также не сильно помог с этим, поскольку они предложили мне обратиться за помощью к моему хостинг-провайдеру.

Комментарии:

1. Спасибо. Это сработало для меня. Возможно, он был установлен по инструкциям cloudflare, но пока я не следовал инструкциям на странице GitHub, он не отображался в модулях Easy Apache 4. И поддержка cloudflare в этом ужасна. Сильно устаревшие инструкции, и сотрудники службы поддержки понятия не имеют.

2. Это больше не работает. Этот проект на GitHub, по-видимому, давно не поддерживается, и репозиторий, из которого он указывает установить модуль, не работает. Уже довольно давно. См. Эту проблему ( github.com/JPerkster/ea-apache24-mod_cloudflare/issues/10 ). Единственное решение, которое я нашел, которое работает, — это ответ, опубликованный EasyCo. На мой взгляд, этот ответ должен быть отмечен как правильный ответ на данный момент.

Ответ №3:

Я знаю, что это немного устарело, но это первый ответ, который появляется в Google.

Официальный ответ cloudflare действительно работает, он просто не отображается в списке модулей EA4. Однако он установлен и работает.

Комментарии:

1. См. Комментарий Джеймса А. Ниже.

Ответ №4:

Только для таких, как я, которые недавно добрались сюда, модуль mod_cloudflare устарел, и для apache есть собственный модуль [mod_remoteip]. Я вижу это в EasyApache (раздел модуля apache). Также здесь есть руководство по установке и настройке :

https://support.cloudflare.com/hc/en-us/articles/200170786-Restoring-original-visitor-IPs

с помощью этого модуля вы можете видеть IP-адрес клиента через

 $_SERVER['REMOTE_ADDR']
  

И нет необходимости

 $_SERVER['HTTP_CF_CONNECTING_IP']
  

Ответ №5:

Инструкции по установке mod_cloudflare на cPanel с EasyApache4 можно найти здесь: https://support.cloudflare.com/hc/en-us/articles/206175737-How-do-I-restore-original-visitor-IP-with-EasyApache-cPanel-

 bash <(curl -s https://raw.githubusercontent.com/cloudflare/mod_cloudflare/master/EasyApache/installer.sh)
  

Комментарии:

1. То, как вы предложили, уже упоминалось в ссылке, предоставленной OP. Когда вы это сделаете, вывод будет «Готово. Пожалуйста, перезапустите EasyApache 4 «. Это именно его проблема, потому что даже после того, как вы установили его с помощью этой команды, опция включения mod_clouodflare в EasyApache4 не появляется.