I did another fresh install of Rocky9/QMT and I can't seem to duplicate
the problem you're having.
On 2/22/2024 12:48 PM, Eric Broch wrote:
Mine as well. It'd be nice to see some errors in the httpd log.
On 2/22/2024 11:15 AM, Gary Bowling wrote:
Thanks. So Eric, my version is 8.0.3 as I stated previously.
php -v
PHP 8.0.30 (cli) (built: Aug 3 2023 17:13:08) ( NTS gcc x86_64 )
Copyright (c) The PHP Group
Zend Engine v4.0.30, Copyright (c) Zend Technologies
with Zend OPcache v8.0.30, Copyright (c), by Zend Technologies
Thanks, gb
On 2/22/2024 1:11 PM, Remo Mattei wrote:
Gary,
Yes default is php 8.0.3 I just upgraded afterwards to 8.3 you are
fine on the default installation php. Sorry for the confusion.
Remo
On Feb 22, 2024, at 10:05, Gary Bowling <g...@gbco.us> wrote:
Not sure what you're saying Remo. My version is 8.0.3, and from
your command it looks like yours is as well. I didn't upgrade to
anything, just installed Rocky 9. Maybe you meant 8.0.3 instead of 8.3.
gb
On 2/22/2024 12:52 PM, Remo Mattei wrote:
I just upgraded to 8.3 myself seems you can do that no problem but
keep 8 there Gary.
Remo
On Feb 22, 2024, at 09:50, Gary Bowling <g...@gbco.us> wrote:
php -v
PHP 8.0.30 (cli) (built: Aug 3 2023 17:13:08) ( NTS gcc x86_64 )
Copyright (c) The PHP Group
Zend Engine v4.0.30, Copyright (c) Zend Technologies
with Zend OPcache v8.0.30, Copyright (c), by Zend Technologies
On 2/22/2024 12:31 PM, Eric Broch wrote:
Odd! Everything works fine on my Rocky9/qmt host.
What version of php are you running?
# php -v
On 2/22/2024 10:21 AM, Gary Bowling wrote:
Thanks Eric.
Yep, just to not send a huge logfile. After having everything
stopped for two hrs, I started everything and went to the
server/admin-toaster and got the screen from below. It looks
like a 401 response, which indicates a lack of authentication
credentials. And I'm not sure why. Probably something to do
with me copying over the admin.pass or admin.htpasswd from my
old server. That was part of the migration page.
Here's the httpd/error.log from that.
[Thu Feb 22 17:12:23.702465 2024] [suexec:notice] [pid
121153:tid 121153] AH01232: suEXEC mechanism enabled (wrapper:
/usr/sbin/suexec)
[Thu Feb 22 17:12:23.714703 2024] [so:warn] [pid 121153:tid
121153] AH01574: module proxy_ajp_module is already loaded,
skipping
[Thu Feb 22 17:12:23.719266 2024] [lbmethod_heartbeat:notice]
[pid 121153:tid 121153] AH02282: No slotmem from mod_heartmonitor
[Thu Feb 22 17:12:23.722704 2024] [mpm_event:notice] [pid
121153:tid 121153] AH00489: Apache/2.4.57 (Rocky Linux)
OpenSSL/3.0.7 configured -- resuming normal operations
[Thu Feb 22 17:12:23.722720 2024] [core:notice] [pid 121153:tid
121153] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND'
And here's the httpd/access.log
96.46.15.70 - - [22/Feb/2024:17:12:41 +0000] "GET
/admin-toaster HTTP/1.1" 401 381 "-" "Mozilla/5.0 (Windows NT
10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/122.
0.0.0 Safari/537.36"
96.46.15.70 - admin [22/Feb/2024:17:12:41 +0000] "GET
/admin-toaster HTTP/1.1" 301 244 "-" "Mozilla/5.0 (Windows NT
10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/
122.0.0.0 Safari/537.36"
On 2/22/2024 10:45 AM, Eric Broch wrote:
Can you check the httpd logs?
On 2/22/2024 8:12 AM, Gary Bowling wrote:
Another issue. When I log in to admin-toaster, it properly
asks for my password and accepts it, but then all I get is
this screen.
<AFsYv2kZDDMd60l8.png>
Between the problems I'm having with roundcube and with
qmailadmin, something is very wrong with my install. I don't
get any errors in the logs, either in messages or httpd logs.
I can configure up a client on my desktop and log into the
server using IMAP and send/receive email. Granted I'm only
sending to myself as there is no mx record or proper dns for
this server as it's not live.
On 2/21/2024 9:52 AM, Gary Bowling wrote:
My next challenge is to get roundcube working. My old server
uses squirrel, but that's so old I need to move on. Which
might be a bit of a challenge as I have some users who
exclusively use web mail and have all their address books
and everything in there.
At any rate, I first just tried going to my server/email.. I
got a big list of errors, etc.
In poking around a bit, I discovered that there wasn't a
/var/lib/roundcube directory, which is listed in the rpm..
Not sure why that was or if it's intended as maybe this is a
customized version of roundcube. At any rate, I decided to
do a yum reinstall on roundcube, which produced a
/var/lib/roundcube dir.
But I still got the same big list of errors when going to
server/email.
In looking at the roundcube configs in /etc/roundcube/.. I
see the config.inc.php has the proper string in it with the
p4ssw... password etc. So that looks ok.
Logging into mysql with the roundcube user works, and the
roundcube database is there with all the table structure. So
that looks ok.
In looking at the roundcube config in httpd I noticed the
"require local" rule, which I think means I can only access
it from the local machine. Since my machine is a hosted
machine, I can't do that. So I changed the to "require ip
<MYIP>" ... that didn't resolve anything.
I'm off to do some other work for the rest of the day, but
somehow I need to figure out what's going on here. There is
very little in the logs and I'm running out of things to check.
Here's the screen I get when I go to myserver/email, which
seems to say "everything is broken" haha..
| | Author: Aleksander Machniak|
+-------------------------------------------------------------------------+
*/ // include environment require_once
'program/include/iniset.php'; // init application, start
session, init output class, etc. $RCMAIL =
rcmail::get_instance(0, isset($GLOBALS['env']) ?
$GLOBALS['env'] : null); // Make the whole PHP output
non-cacheable (#1487797)
$RCMAIL->output->nocacheing_headers();
$RCMAIL->output->common_headers(!empty($_SESSION['user_id']));
// turn on output buffering ob_start(); // check if config
files had errors if ($err_str =
$RCMAIL->config->get_error()) { rcmail::raise_error(['code'
=> 601, 'message' => $err_str], false, true); } // check DB
connections and exit on failure if ($err_str =
$RCMAIL->db->is_error()) { rcmail::raise_error(['code' =>
603, 'type' => 'db', 'message' => $err_str], false, true); }
// error steps if ($RCMAIL->action == 'error' &&
!empty($_GET['_code'])) { rcmail::raise_error(['code' =>
hexdec($_GET['_code'])], false, true); } // check if https
is required (for login) and redirect if necessary if
(empty($_SESSION['user_id']) && ($force_https =
$RCMAIL->config->get('force_https', false))) { //
force_https can be true,,:,if (!is_bool($force_https)) {
list($host, $port) = explode(':', $force_https); if
(is_numeric($host) && empty($port)) { $port = $host; $host =
''; } } if (empty($port)) { $port = 443; } if
(!rcube_utils::https_check($port)) { if (empty($host)) {
$host = preg_replace('/:[0-9]+$/', '',
$_SERVER['HTTP_HOST']); } if ($port != 443) { $host .= ':' .
$port; } header('Location: https://' . $host .
$_SERVER['REQUEST_URI']); exit; } } // trigger startup
plugin hook $startup =
$RCMAIL->plugins->exec_hook('startup', ['task' =>
$RCMAIL->task, 'action' => $RCMAIL->action]);
$RCMAIL->set_task($startup['task']); $RCMAIL->action =
$startup['action']; $session_error = null; // try to log in
if ($RCMAIL->task == 'login' && $RCMAIL->action == 'login')
{ $request_valid = !empty($_SESSION['temp']) &&
$RCMAIL->check_request(); $pass_charset =
$RCMAIL->config->get('password_charset', 'UTF-8'); // purge
the session in case of new login when a session already
exists if ($request_valid) { $RCMAIL->kill_session(); }
$auth = $RCMAIL->plugins->exec_hook('authenticate', [ 'host'
=> $RCMAIL->autoselect_host(), 'user' =>
trim(rcube_utils::get_input_string('_user',
rcube_utils::INPUT_POST)), 'pass' =>
rcube_utils::get_input_string('_pass',
rcube_utils::INPUT_POST, true, $pass_charset), 'valid' =>
$request_valid, 'error' => null, 'cookiecheck' => true, ]);
// Login if ($auth['valid'] && !$auth['abort'] &&
$RCMAIL->login($auth['user'], $auth['pass'], $auth['host'],
$auth['cookiecheck']) ) { // create new session ID, don't
destroy the current session // it was destroyed already by
$RCMAIL->kill_session() above
$RCMAIL->session->remove('temp');
$RCMAIL->session->regenerate_id(false); // send auth cookie
if necessary $RCMAIL->session->set_auth_cookie(); // log
successful login $RCMAIL->log_login(); // restore original
request parameters $query = []; if ($url =
rcube_utils::get_input_string('_url',
rcube_utils::INPUT_POST)) { parse_str($url, $query); //
prevent endless looping on login page if
(!empty($query['_task']) && $query['_task'] == 'login') {
unset($query['_task']); } // prevent redirect to compose
with specified ID (#1488226) if (!empty($query['_action'])
&& $query['_action'] == 'compose' && !empty($query['_id']))
{ $query = ['_action' => 'compose']; } } // allow plugins to
control the redirect url after login success $redir =
$RCMAIL->plugins->exec_hook('login_after', $query + ['_task'
=> 'mail']); unset($redir['abort'], $redir['_err']); // send
redirect $RCMAIL->output->redirect($redir, 0, true); } else
{ if (!$auth['valid']) { $error_code =
rcmail::ERROR_INVALID_REQUEST; } else { $error_code =
is_numeric($auth['error']) ? $auth['error'] :
$RCMAIL->login_error(); } $error_labels = [
rcmail::ERROR_STORAGE => 'storageerror',
rcmail::ERROR_COOKIES_DISABLED => 'cookiesdisabled',
rcmail::ERROR_INVALID_REQUEST => 'invalidrequest',
rcmail::ERROR_INVALID_HOST => 'invalidhost',
rcmail::ERROR_RATE_LIMIT => 'accountlocked', ]; if
(!empty($auth['error']) && !is_numeric($auth['error'])) {
$error_message = $auth['error']; } else { $error_message =
!empty($error_labels[$error_code]) ?
$error_labels[$error_code] : 'loginfailed'; }
$RCMAIL->output->show_message($error_message, 'warning'); //
log failed login $RCMAIL->log_login($auth['user'], true,
$error_code); $RCMAIL->plugins->exec_hook('login_failed', [
'code' => $error_code, 'host' => $auth['host'], 'user' =>
$auth['user'], ]); if (!isset($_SESSION['user_id'])) {
$RCMAIL->kill_session(); } } } // handle oauth login
requests else if ($RCMAIL->task == 'login' &&
$RCMAIL->action == 'oauth' && $RCMAIL->oauth->is_enabled())
{ $oauth_handler = new rcmail_action_login_oauth();
$oauth_handler->run(); } // end session else if
($RCMAIL->task == 'logout' && isset($_SESSION['user_id'])) {
$RCMAIL->request_security_check(rcube_utils::INPUT_GET |
rcube_utils::INPUT_POST); $userdata = array( 'user' =>
$_SESSION['username'], 'host' => $_SESSION['storage_host'],
'lang' => $RCMAIL->user->language, );
$RCMAIL->output->show_message('loggedout');
$RCMAIL->logout_actions(); $RCMAIL->kill_session();
$RCMAIL->plugins->exec_hook('logout_after', $userdata); } //
check session and auth cookie else if ($RCMAIL->task !=
'login' && $_SESSION['user_id']) { if
(!$RCMAIL->session->check_auth()) { $RCMAIL->kill_session();
$session_error = 'sessionerror'; } } // not logged in ->
show login page if (empty($RCMAIL->user->ID)) { if (
$session_error || (!empty($_REQUEST['_err']) &&
$_REQUEST['_err'] === 'session') || ($session_error =
$RCMAIL->session_error()) ) {
$RCMAIL->output->show_message($session_error ?:
'sessionerror', 'error', null, true, -1); } if
($RCMAIL->output->ajax_call ||
$RCMAIL->output->get_env('framed')) {
$RCMAIL->output->command('session_error',
$RCMAIL->url(['_err' => 'session']));
$RCMAIL->output->send('iframe'); } // check if installer is
still active if ($RCMAIL->config->get('enable_installer') &&
is_readable('./installer/index.php')) {
$RCMAIL->output->add_footer(html::div(['id' =>
'login-addon', 'style' => "background:#ef9398; border:2px
solid #dc5757; padding:0.5em; margin:2em auto; width:50em"],
html::tag('h2', array('style' => "margin-top:0.2em"),
"Installer script is still accessible") . html::p(null, "The
install script of your Roundcube installation is still
stored in its default location!") . html::p(null,
"Please*remove*the wholeinstallerfolder from the Roundcube
directory because these files may expose sensitive
configuration data like server passwords and encryption keys
to the public. Make sure you cannot access theinstaller
script <https://mail2.gbco.us/%22./installer//%22>from your
browser.") )); } $plugin =
$RCMAIL->plugins->exec_hook('unauthenticated', [ 'task' =>
'login', 'error' => $session_error, // Return 401 only on
failed logins (#7010) 'http_code' => empty($session_error)
&& !empty($error_message) ? 401 : 200 ]);
$RCMAIL->set_task($plugin['task']); if ($plugin['http_code']
== 401) { header('HTTP/1.0 401 Unauthorized'); }
$RCMAIL->output->send($plugin['task']); } else { // CSRF
prevention $RCMAIL->request_security_check(); // check
access to disabled actions $disabled_actions = (array)
$RCMAIL->config->get('disabled_actions'); if
(in_array($RCMAIL->task . '.' . ($RCMAIL->action ?:
'index'), $disabled_actions)) { rcube::raise_error(['code'
=> 404, 'message' => "Action disabled"], true, true); } }
$RCMAIL->action_handler();
On 2/20/2024 9:02 PM, Gary Bowling wrote:
Ah, thanks Eric! Unfortunately I didn't find that page
earlier. But but I cobbled together a few sql queries, so I...
- exported each domain to an xml file
- then did a bit of scripting on each domains xml file to
add the pw_domain field, which is the same for every record
in each file.
- then used the "load xml local infile..." sql command to
load each of the files into the vpopmail table.
It seems to have all worked. I can now use ./vuserinfo and
get correct entries. The other tables, valias, lastauth,
dir_control, all seem to be the same.
So I think I'm on to the next challenge. The script you
showed on that page would have been a little easier, but no
worries, it wasn't to difficult.
Which reminds me, I need to go back and set Global
Local_infiles=0 as I had to change that to export/import
local files. Although I'm not sure that hurts anything.
Thanks, gb
On 2/20/2024 5:04 PM, Eric Broch wrote:
did you migrate the database?
Many domain's conversion - QMT (qmailtoaster.org)
<https://qmailtoaster.org/manydom.html>
On 2/20/2024 9:37 AM, Gary Bowling wrote:
Thanks Eric.
Continuing through the "migration" page. After going
through everything moving configs and my database, then
restarting. Toaststat says everything is ok.
So I tried a simple run of ~vpopmail/bin/vuserinfo
g...@gbco.us just to query an account. I get this error
mysql: sql error[3]: Table 'vpopmail.vpopmail' doesn't exist
Logging into the db and checking, indeed I do not have a
vpopmail.vpopmail table. I have all the domain tables,
etc. So I went back to my old server (the one this email
is coming from) and it also does not have a
vpopmail.vpopmail table.
I'm sure it has something to do with how old my existing
server is. But how do I resolve this?
Thanks, gb
On 2/20/2024 10:00 AM, Eric Broch wrote:
It's all good and there's nothing to do.
On 2/20/2024 7:11 AM, Gary Bowling wrote:
Another question on my migration. On the
qmailtoaster.com site, under the RHEL9 derivative
install heading. There is the qmail1.03-3.3.8 header
and underneath it is a link for "patches applied"
I'm confused if that means. It implies that those
patches are already applied and there is no need to do
them. But the link takes you to the page for the patch
like it's something we should apply.
I'm pretty sure it's all good and there is nothing to
do, just wanted to make sure.
Thanks, gb
--
____________________
The Moderns on Spotify
<https://distrokid.com/hyperfollow/themoderns/bbrs>
____________________
---------------------------------------------------------------------
To unsubscribe, e-mail:
qmailtoaster-list-unsubscr...@qmailtoaster.com For
additional commands, e-mail:
qmailtoaster-list-h...@qmailtoaster.com
---------------------------------------------------------------------
To unsubscribe, e-mail:
qmailtoaster-list-unsubscr...@qmailtoaster.com For
additional commands, e-mail:
qmailtoaster-list-h...@qmailtoaster.com
---------------------------------------------------------------------
To unsubscribe, e-mail:
qmailtoaster-list-unsubscr...@qmailtoaster.com For
additional commands, e-mail:
qmailtoaster-list-h...@qmailtoaster.com
---------------------------------------------------------------------
To unsubscribe, e-mail:
qmailtoaster-list-unsubscr...@qmailtoaster.com For
additional commands, e-mail:
qmailtoaster-list-h...@qmailtoaster.com
---------------------------------------------------------------------
To unsubscribe, e-mail:
qmailtoaster-list-unsubscr...@qmailtoaster.com For additional
commands, e-mail: qmailtoaster-list-h...@qmailtoaster.com
---------------------------------------------------------------------
To unsubscribe, e-mail:
qmailtoaster-list-unsubscr...@qmailtoaster.com For additional
commands, e-mail: qmailtoaster-list-h...@qmailtoaster.com