Установка Horde Groupware Webmail Edition 5 Debian 10: различия между версиями
Материал из support.qbpro.ru
imported>Vix Нет описания правки |
imported>Vix Нет описания правки |
||
(не показаны 3 промежуточные версии этого же участника) | |||
Строка 3: | Строка 3: | ||
Актуально на 2022г. | Актуально на 2022г. | ||
* Установка | * '''Установка''' | ||
Для упрощения эксплуатации, я использую контейнер LXC, рекомендую на тот случай если, что то пойдет не так,<br> | Для упрощения эксплуатации, я использую контейнер LXC, рекомендую на тот случай если, что то пойдет не так,<br> | ||
меньше времени уйдет на перенастройки и прочее, так же у меня клиент стоит отдельно, база данных почты и прочего - отдельно. <br> | меньше времени уйдет на перенастройки и прочее, так же у меня клиент стоит отдельно, база данных почты и прочего - отдельно. <br> | ||
Строка 25: | Строка 25: | ||
# cp /etc/php/7.3/fpm/php.ini /etc/php/7.3/fpm/php.ini.dst | # cp /etc/php/7.3/fpm/php.ini /etc/php/7.3/fpm/php.ini.dst | ||
# cp /etc/php/7.3/fpm/pool.d/www.conf /etc/php/7.3/fpm/pool.d/www.conf.dst | # cp /etc/php/7.3/fpm/pool.d/www.conf /etc/php/7.3/fpm/pool.d/www.conf.dst | ||
Правим конфиги: | |||
# mcedit /etc/php/7.3/fpm/pool.d/www.conf | |||
Вставляем: | |||
[www] | |||
user = www-data | |||
group = www-data | |||
; | |||
listen = 127.0.0.1:9000 | |||
listen.owner = www-data | |||
listen.group = www-data | |||
; | |||
pm = dynamic | |||
pm.max_children = 5 | |||
pm.start_servers = 2 | |||
pm.min_spare_servers = 1 | |||
pm.max_spare_servers = 3 | |||
; | |||
# mcedit /etc/php/7.3/fpm/php-fpm.conf | |||
Вставляем: | |||
[global] | |||
pid = /run/php/php7.3-fpm.pid | |||
; | |||
error_log = /var/log/php7.3-fpm.log | |||
; | |||
include=/etc/php/7.3/fpm/pool.d/*.conf | |||
# mcedit /etc/php/7.3/fpm/php.ini | |||
Вставляем: | |||
[PHP] | |||
engine = On | |||
short_open_tag = Off | |||
precision = 14 | |||
output_buffering = 4096 | |||
zlib.output_compression = Off | |||
implicit_flush = Off | |||
unserialize_callback_func = | |||
serialize_precision = 17 | |||
disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, | |||
disable_classes = | |||
zend.enable_gc = On | |||
expose_php = Off | |||
max_execution_time = 300 | |||
max_input_time = 300 | |||
##memory_limit = 128M | |||
memory_limit = 256M | |||
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT | |||
display_errors = Off | |||
display_startup_errors = Off | |||
log_errors = On | |||
log_errors_max_len = 1024 | |||
ignore_repeated_errors = Off | |||
ignore_repeated_source = Off | |||
report_memleaks = On | |||
track_errors = Off | |||
html_errors = On | |||
; | |||
cgi.fix_pathinfo=0 | |||
; | |||
variables_order = "GPCS" | |||
request_order = "GP" | |||
register_argc_argv = Off | |||
auto_globals_jit = On | |||
post_max_size = 40M | |||
auto_prepend_file = | |||
auto_append_file = | |||
default_mimetype = "text/html" | |||
default_charset = "UTF-8" | |||
doc_root = | |||
user_dir = | |||
enable_dl = Off | |||
; | |||
file_uploads = On | |||
##upload_max_filesize = 40M | |||
upload_max_filesize = 100M | |||
max_file_uploads = 20 | |||
allow_url_fopen = Off | |||
allow_url_include = Off | |||
default_socket_timeout = 60 | |||
; | |||
[CLI Server] | |||
cli_server.color = On | |||
; | |||
[Date] | |||
date.timezone = Europe/Moscow | |||
; | |||
[filter] | |||
; | |||
[iconv] | |||
; | |||
[intl] | |||
; | |||
[sqlite3] | |||
; | |||
[Pcre] | |||
; | |||
[Pdo] | |||
; | |||
[Pdo_mysql] | |||
pdo_mysql.cache_size = 2000 | |||
pdo_mysql.default_socket= | |||
; | |||
[Phar] | |||
; | |||
[mail function] | |||
SMTP = localhost | |||
smtp_port = 25 | |||
mail.add_x_header = On | |||
; | |||
[SQL] | |||
sql.safe_mode = Off | |||
; | |||
[ODBC] | |||
odbc.allow_persistent = On | |||
odbc.check_persistent = On | |||
odbc.max_persistent = -1 | |||
odbc.max_links = -1 | |||
odbc.defaultlrl = 4096 | |||
odbc.defaultbinmode = 1 | |||
; | |||
[Interbase] | |||
ibase.allow_persistent = 1 | |||
ibase.max_persistent = -1 | |||
ibase.max_links = -1 | |||
ibase.timestampformat = "%Y-%m-%d %H:%M:%S" | |||
ibase.dateformat = "%Y-%m-%d" | |||
ibase.timeformat = "%H:%M:%S" | |||
; | |||
[MySQLi] | |||
mysqli.max_persistent = -1 | |||
mysqli.allow_persistent = On | |||
mysqli.max_links = -1 | |||
mysqli.cache_size = 2000 | |||
mysqli.default_port = 3306 | |||
mysqli.default_socket = | |||
mysqli.default_host = | |||
mysqli.default_user = | |||
mysqli.default_pw = | |||
mysqli.reconnect = Off | |||
; | |||
[mysqlnd] | |||
mysqlnd.collect_statistics = On | |||
mysqlnd.collect_memory_statistics = Off | |||
; | |||
[OCI8] | |||
; | |||
[PostgreSQL] | |||
pgsql.allow_persistent = On | |||
pgsql.auto_reset_persistent = Off | |||
pgsql.max_persistent = -1 | |||
pgsql.max_links = -1 | |||
pgsql.ignore_notice = 0 | |||
pgsql.log_notice = 0 | |||
; | |||
[bcmath] | |||
bcmath.scale = 0 | |||
; | |||
[browscap] | |||
; | |||
[Session] | |||
session.save_handler = files | |||
session.use_strict_mode = 0 | |||
session.use_cookies = 1 | |||
session.use_only_cookies = 1 | |||
session.name = PHPSESSID | |||
session.auto_start = 0 | |||
session.cookie_lifetime = 0 | |||
session.cookie_path = / | |||
session.cookie_domain = | |||
session.cookie_httponly = | |||
session.serialize_handler = php | |||
session.gc_probability = 0 | |||
session.gc_divisor = 1000 | |||
session.gc_maxlifetime = 1440 | |||
session.referer_check = | |||
session.cache_limiter = nocache | |||
session.cache_expire = 180 | |||
session.use_trans_sid = 0 | |||
session.hash_function = 0 | |||
session.hash_bits_per_character = 5 | |||
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry" | |||
; | |||
[Assertion] | |||
zend.assertions = -1 | |||
; | |||
[COM] | |||
; | |||
[mbstring] | |||
; | |||
[gd] | |||
; | |||
[exif] | |||
; | |||
[Tidy] | |||
tidy.clean_output = Off | |||
; | |||
[soap] | |||
soap.wsdl_cache_enabled=1 | |||
soap.wsdl_cache_dir="/tmp" | |||
soap.wsdl_cache_ttl=86400 | |||
soap.wsdl_cache_limit = 5 | |||
; | |||
[sysvshm] | |||
; | |||
[ldap] | |||
ldap.max_links = -1 | |||
; | |||
[mcrypt] | |||
; | |||
[dba] | |||
; | |||
[opcache] | |||
; | |||
[curl] | |||
; | |||
[openssl] | |||
; | |||
Перезапускам php-fpm: | |||
# systemctl restart php-fpm.7.3 | |||
Теперь устанавливаем Horde Groupware Webmail Edition 5: | |||
# pear channel-discover pear.horde.org | |||
# pear install horde/horde_role | |||
# pear run-scripts horde/horde_role | |||
# pear install -a -B horde/webmail | |||
# webmail-install | |||
Настраиваем конфигурацию nginx: | |||
# | |||
* ИСТОЧНИКИ: | |||
<hr> | |||
* [https://www.horde.org/apps/webmail/docs/INSTALL Installing Horde Groupware Webmail Edition 5] |
Текущая версия от 09:40, 26 августа 2022
- Внимание - Horde Groupware Webmail Edition 5, работает нормально только с php7.3!
С версиями выше, не работает, это проверено многократно, не тратьте свое время напрасно.
Актуально на 2022г.
- Установка
Для упрощения эксплуатации, я использую контейнер LXC, рекомендую на тот случай если, что то пойдет не так,
меньше времени уйдет на перенастройки и прочее, так же у меня клиент стоит отдельно, база данных почты и прочего - отдельно.
Описывать процесс установки контейнера LXC не буду, этого полно в интернете, далее установка на чистом контейнере.
# apt update # apt install php7.3 php-date php-pear php-tcpdf php-timer php-validate php-xml-svg php7.3-amqp php7.3-apcu php7.3-apcu-bc php7.3-ast # apt install php7.3-bcmath php7.3-bz2 php7.3-cli php7.3-common php7.3-curl php7.3-dba php7.3-decimal php7.3-ds php7.3-enchant php7.3-fpm # apt install php7.3-gd php7.3-geoip php7.3-gmp php7.3-gnupg php7.3-grpc php7.3-http php7.3-igbinary php7.3-imagick php7.3-imap php7.3-inotify # apt install php7.3-intl php7.3-json php7.3-ldap php7.3-lz4 php7.3-mailparse php7.3-mbstring php7.3-mcrypt php7.3-memcache php7.3-memcached # apt install php7.3-mongodb php7.3-msgpack php7.3-mysql php7.3-oauth php7.3-odbc php7.3-opcache php7.3-pcov php7.3-pgsql php7.3-phalcon3 # apt install php7.3-pinba php7.3-propro php7.3-protobuf php7.3-ps php7.3-pspell php7.3-psr php7.3-raphf php7.3-recode php7.3-rrd php7.3-snmp # apt install php7.3-snmp php7.3-soap php7.3-sqlite3 php7.3-stomp php7.3-swoole php7.3-tideways php7.3-tidy php7.3-uopz php7.3-uuid php7.3-vips # apt install php7.3-xhprof php7.3-xml php7.3-xmlrpc php7.3-xsl php7.3-yaml php7.3-zip php7.3-zmq php7.3-zstd pkg-php-tools # aptitude purge apache2, libapache2-mod-php7.3
У меня все работает на nginx, далее ставим nginx:
# apt install nginx-full
Создаем каталог для Horde:
# mkdir -p /home/www/horde
Настраиваем работу php-fpm и php.ini:
# cp /etc/php/7.3/fpm/php-fpm.conf /etc/php/7.3/fpm/php-fpm.conf.dst # cp /etc/php/7.3/fpm/php.ini /etc/php/7.3/fpm/php.ini.dst # cp /etc/php/7.3/fpm/pool.d/www.conf /etc/php/7.3/fpm/pool.d/www.conf.dst
Правим конфиги:
# mcedit /etc/php/7.3/fpm/pool.d/www.conf
Вставляем:
[www] user = www-data group = www-data ; listen = 127.0.0.1:9000 listen.owner = www-data listen.group = www-data ; pm = dynamic pm.max_children = 5 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 3 ;
# mcedit /etc/php/7.3/fpm/php-fpm.conf
Вставляем:
[global] pid = /run/php/php7.3-fpm.pid ; error_log = /var/log/php7.3-fpm.log ; include=/etc/php/7.3/fpm/pool.d/*.conf
# mcedit /etc/php/7.3/fpm/php.ini
Вставляем:
[PHP] engine = On short_open_tag = Off precision = 14 output_buffering = 4096 zlib.output_compression = Off implicit_flush = Off unserialize_callback_func = serialize_precision = 17 disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, disable_classes = zend.enable_gc = On expose_php = Off max_execution_time = 300 max_input_time = 300 ##memory_limit = 128M memory_limit = 256M error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT display_errors = Off display_startup_errors = Off log_errors = On log_errors_max_len = 1024 ignore_repeated_errors = Off ignore_repeated_source = Off report_memleaks = On track_errors = Off html_errors = On ; cgi.fix_pathinfo=0 ; variables_order = "GPCS" request_order = "GP" register_argc_argv = Off auto_globals_jit = On post_max_size = 40M auto_prepend_file = auto_append_file = default_mimetype = "text/html" default_charset = "UTF-8" doc_root = user_dir = enable_dl = Off ; file_uploads = On ##upload_max_filesize = 40M upload_max_filesize = 100M max_file_uploads = 20 allow_url_fopen = Off allow_url_include = Off default_socket_timeout = 60 ; [CLI Server] cli_server.color = On ; [Date] date.timezone = Europe/Moscow ; [filter] ; [iconv] ; [intl] ; [sqlite3] ; [Pcre] ; [Pdo] ; [Pdo_mysql] pdo_mysql.cache_size = 2000 pdo_mysql.default_socket= ; [Phar] ; [mail function] SMTP = localhost smtp_port = 25 mail.add_x_header = On ; [SQL] sql.safe_mode = Off ; [ODBC] odbc.allow_persistent = On odbc.check_persistent = On odbc.max_persistent = -1 odbc.max_links = -1 odbc.defaultlrl = 4096 odbc.defaultbinmode = 1 ; [Interbase] ibase.allow_persistent = 1 ibase.max_persistent = -1 ibase.max_links = -1 ibase.timestampformat = "%Y-%m-%d %H:%M:%S" ibase.dateformat = "%Y-%m-%d" ibase.timeformat = "%H:%M:%S" ; [MySQLi] mysqli.max_persistent = -1 mysqli.allow_persistent = On mysqli.max_links = -1 mysqli.cache_size = 2000 mysqli.default_port = 3306 mysqli.default_socket = mysqli.default_host = mysqli.default_user = mysqli.default_pw = mysqli.reconnect = Off ; [mysqlnd] mysqlnd.collect_statistics = On mysqlnd.collect_memory_statistics = Off ; [OCI8] ; [PostgreSQL] pgsql.allow_persistent = On pgsql.auto_reset_persistent = Off pgsql.max_persistent = -1 pgsql.max_links = -1 pgsql.ignore_notice = 0 pgsql.log_notice = 0 ; [bcmath] bcmath.scale = 0 ; [browscap] ; [Session] session.save_handler = files session.use_strict_mode = 0 session.use_cookies = 1 session.use_only_cookies = 1 session.name = PHPSESSID session.auto_start = 0 session.cookie_lifetime = 0 session.cookie_path = / session.cookie_domain = session.cookie_httponly = session.serialize_handler = php session.gc_probability = 0 session.gc_divisor = 1000 session.gc_maxlifetime = 1440 session.referer_check = session.cache_limiter = nocache session.cache_expire = 180 session.use_trans_sid = 0 session.hash_function = 0 session.hash_bits_per_character = 5 url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry" ; [Assertion] zend.assertions = -1 ; [COM] ; [mbstring] ; [gd] ; [exif] ; [Tidy] tidy.clean_output = Off ; [soap] soap.wsdl_cache_enabled=1 soap.wsdl_cache_dir="/tmp" soap.wsdl_cache_ttl=86400 soap.wsdl_cache_limit = 5 ; [sysvshm] ; [ldap] ldap.max_links = -1 ; [mcrypt] ; [dba] ; [opcache] ; [curl] ; [openssl] ;
Перезапускам php-fpm:
# systemctl restart php-fpm.7.3
Теперь устанавливаем Horde Groupware Webmail Edition 5:
# pear channel-discover pear.horde.org # pear install horde/horde_role # pear run-scripts horde/horde_role # pear install -a -B horde/webmail # webmail-install
Настраиваем конфигурацию nginx:
#
- ИСТОЧНИКИ: