Установка Horde Groupware Webmail Edition 5 Debian 10
Материал из support.qbpro.ru
Версия от 09:37, 26 августа 2022; imported>Vix
- Внимание - 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