История изменений
Исправление Riniko, (текущая версия) :
Снова загрузил снепшот, где почта настроена но без Roundcube.
Сгенерировал сертификат, установил nginx.
Установил модули:
php-cli php8.2-mysql php-json php-gd php-ldap php-odbc php8.2-common php8.2-opcache php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap php-imap php php-fpm php-curl
Включил: systemctl enable --now php8.2-fpm
Установил зависимости для Roundcube:
php-mysql aspell aspell-en fonts-glyphicons-halflings libaspell15 libjs-bootstrap libjs-bootstrap4 libjs-jquery-minicolors libjs-jstimezonedetect libjs-popper.js libjs-sizzle node-jquery php-auth-sasl php-mail-mime php-masterminds-html5 php-net-sieve php-net-smtp php-net-socket php-pspell php-intl php-imagick
Загрузил архив Roundcube: cd && wget https://github.com/roundcube/roundcubemail/releases/download/1.5.9/roundcubemail-1.5.9-complete.tar.gz
Распаковал:
tar xzvf roundcubemail-1.5.9-complete.tar.gz
Скопировал в каталог:
cp -R roundcubemail-1.5.9/* /var/www/html
Создал базу данных для Roundcube:
CREATE DATABASE roundcubemail CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER roundcube@localhost IDENTIFIED BY 'PASSWORD';
GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcube@localhost;
FLUSH PRIVILEGES;
Загрузил базу данных:
mysql -uroot -p roundcubemail < /var/www/html/SQL/mysql.initial.sql
Отредактировал конфиг Nginx:
server {
listen 80;
listen [::]:80;
server_name YOUR_DOMAIN;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name YOUR_DOMAIN.COM;
root /var/www/html;
index index.php index.html index.htm;
ssl_certificate /etc/letsencrypt/live/YOUR_DOMAIN/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/YOUR_DOMAIN/privkey.pem;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param DOCUMENT_ROOT /var/www/html/;
fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
fastcgi_param PATH_TRANSLATED /var/www/html$fastcgi_script_name;
include fastcgi_params;
}
}
Проверил на ошибки и перезапустил Nginx. Дал права:
chown -R www-data:www-data /var/www/html/
chmod 775 /var/www/html/temp/ /var/www/html/logs/
Скопировал конфиг:
cp /var/www/html/config/config.inc.php.sample /var/www/html/config/config.inc.php
Зашел через YOUR_DOMAIN.COM/installer, отредактировал. IMAP Settings:
default_host ssl://your_domain.com
default_port 993
Менял хост и на ssl://mail.your_domain.com, так как вижу в Thunderbird в параметрах IMAP. Там так же SSl/TLS.
SMTP Settings:
smtp_server ssl://smtp.YOUR_DOMAIN.COM
smtp_port 465
Конечный результат:
Check config file
defaults.inc.php: OK
config.inc.php: OK
Check if directories are writable
Roundcube may need to write/save files into these directories
/var/www/html/temp/: OK
/var/www/html/logs/: OK
Check DB config
DSN (write): OK
DB Schema: OK
DB Write: OK
DB Time: OK
Test filetype detection
Fileinfo/mime_content_type configuration: OK
Mimetype to file extension mapping: OK
Конфиг выглядит так:
<?php
$config['db_dsnw'] = 'mysql://roundcube:PASSWORD@localhost/roundcubemail';
$config['default_host'] = 'ssl://mail.your_domain.com';
$config['smtp_server'] = 'ssl://smtp.your_domain.com';
$config['smtp_port'] = 465;
$config['des_key'] = '2ylY3XJvh510TBncMMEx7mZY';
$config['plugins'] = [];
$config['spellcheck_engine'] = 'pspell';
Test IMAP config:
Connecting to ssl://your_domain.com...
IMAP connect: NOT OK(Login failed for username@your_domain.com against your_domain.com from 185.220.100.254.
Could not connect to ssl://your_domain.com:993: Unknown reason)
Меняю немного IMAP:
Connecting to ssl://mail.your_domain.com...
IMAP connect: NOT OK(Login failed for username@your_domain.com against mail.your_domain.com from 185.220.100.254. AUTHENTICATE PLAIN: Authentication failed.)
В логе ошибки:
DB Error: SQLSTATE[HY000] [1045] Access denied for user 'roundcube'@'localhost' (using password: NO) in /var/www/html/program/lib/Roundcube/rcube_db.php on line 194 (GET /)
PHP Error: config.inc.php was not found. (GET /)
Фрагмент конфига /var/www/html/program/lib/Roundcube/rcube_db.php:
188 catch (Exception $e) {
189 $this->db_error = true;
190 $this->db_error_msg = $e->getMessage();
191
192 rcube::raise_error([
193 'code' => 500, 'type' => 'db',
194 'line' => __LINE__, 'file' => __FILE__,
195 'message' => $this->db_error_msg
196 ],
197 true, false
198 );
199
200 return null;
201 }
202
203 return $this->dbh;
204 }
В чем моя ошибка?
Исходная версия Riniko, :
Снова загрузил снепшот, где почта настроена но без Roundcube.
Сгенерировал сертификат, установил nginx.
Установил модули:
php-cli php8.2-mysql php-json php-gd php-ldap php-odbc php8.2-common php8.2-opcache php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap php-imap php php-fpm php-curl
Включил: systemctl enable --now php8.2-fpm
Установил зависимости для Roundcube:
php-mysql aspell aspell-en fonts-glyphicons-halflings libaspell15 libjs-bootstrap libjs-bootstrap4 libjs-jquery-minicolors libjs-jstimezonedetect libjs-popper.js libjs-sizzle node-jquery php-auth-sasl php-mail-mime php-masterminds-html5 php-net-sieve php-net-smtp php-net-socket php-pspell php-intl php-imagick
Загрузил архив Roundcube: cd && wget https://github.com/roundcube/roundcubemail/releases/download/1.5.9/roundcubemail-1.5.9-complete.tar.gz
Распаковал:
tar xzvf roundcubemail-1.5.9-complete.tar.gz
Скопировал в каталог:
cp -R roundcubemail-1.5.9/* /var/www/html
Создал базу данных для Roundcube:
CREATE DATABASE roundcubemail CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER roundcube@localhost IDENTIFIED BY 'PASSWORD';
GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcube@localhost;
FLUSH PRIVILEGES;
Загрузил базу данных:
mysql -uroot -p roundcubemail < /var/www/html/SQL/mysql.initial.sql
Отредактировал конфиг Nginx:
server {
listen 80;
listen [::]:80;
server_name YOUR_DOMAIN;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name YOUR_DOMAIN.COM;
root /var/www/html;
index index.php index.html index.htm;
ssl_certificate /etc/letsencrypt/live/YOUR_DOMAIN/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/YOUR_DOMAIN/privkey.pem;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param DOCUMENT_ROOT /var/www/html/;
fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
fastcgi_param PATH_TRANSLATED /var/www/html$fastcgi_script_name;
include fastcgi_params;
}
}
Проверил на ошибки и перезапустил Nginx. Дал права:
chown -R www-data:www-data /var/www/html/
chmod 775 /var/www/html/temp/ /var/www/html/logs/
Скопировал конфиг:
cp /var/www/html/config/config.inc.php.sample /var/www/html/config/config.inc.php
Зашел через YOUR_DOMAIN.COM/installer, отредактировал. IMAP Settings:
default_host ssl://your_domain.com
default_port 993
Менял хост и на ssl://mail.your_domain.com, так как вижу в Thunderbird в параметрах IMAP. Там так же SSl/TLS.
IMAP Settings:
smtp_server ssl://smtp.YOUR_DOMAIN.COM
smtp_port 465
Конечный результат:
Check config file
defaults.inc.php: OK
config.inc.php: OK
Check if directories are writable
Roundcube may need to write/save files into these directories
/var/www/html/temp/: OK
/var/www/html/logs/: OK
Check DB config
DSN (write): OK
DB Schema: OK
DB Write: OK
DB Time: OK
Test filetype detection
Fileinfo/mime_content_type configuration: OK
Mimetype to file extension mapping: OK
Конфиг выглядит так:
<?php
$config['db_dsnw'] = 'mysql://roundcube:PASSWORD@localhost/roundcubemail';
$config['default_host'] = 'ssl://mail.your_domain.com';
$config['smtp_server'] = 'ssl://smtp.your_domain.com';
$config['smtp_port'] = 465;
$config['des_key'] = '2ylY3XJvh510TBncMMEx7mZY';
$config['plugins'] = [];
$config['spellcheck_engine'] = 'pspell';
Test IMAP config:
Connecting to ssl://your_domain.com...
IMAP connect: NOT OK(Login failed for username@your_domain.com against your_domain.com from 185.220.100.254.
Could not connect to ssl://your_domain.com:993: Unknown reason)
Меняю немного IMAP:
Connecting to ssl://mail.your_domain.com...
IMAP connect: NOT OK(Login failed for username@your_domain.com against mail.your_domain.com from 185.220.100.254. AUTHENTICATE PLAIN: Authentication failed.)
В логе ошибки:
DB Error: SQLSTATE[HY000] [1045] Access denied for user 'roundcube'@'localhost' (using password: NO) in /var/www/html/program/lib/Roundcube/rcube_db.php on line 194 (GET /)
PHP Error: config.inc.php was not found. (GET /)
Фрагмент конфига /var/www/html/program/lib/Roundcube/rcube_db.php:
188 catch (Exception $e) {
189 $this->db_error = true;
190 $this->db_error_msg = $e->getMessage();
191
192 rcube::raise_error([
193 'code' => 500, 'type' => 'db',
194 'line' => __LINE__, 'file' => __FILE__,
195 'message' => $this->db_error_msg
196 ],
197 true, false
198 );
199
200 return null;
201 }
202
203 return $this->dbh;
204 }
В чем моя ошибка?