View Full Version : Data Center Move Addendum
If you're like me, then you have the IP address for forums.apisnetworks.com hardcoded into the hosts file mentioned below, so this outlet wasn't working... ;)
=============================================
***************IMPORTANT STUFF***************
=============================================
1) What's the story thus far?
Ideally the plan is to have everyone migrated from the servers by tomorrow at 7 AM except for the nameservers, Vector and Eigen, which will also hold a snapshot of the old servers. They will also continue to serve DNS information for your domain name until I can transfer them over to assmule/augend respectively (eigen -> augend (already aware of the naming similarities). There is still a bit of work that needs to be done and will be tackled in the following order tomorrow:
Majordomo mailing lists -- I need to build a special wrapper for each site. Somewhat time-consuming, but on a positive note you will be able to directly edit the mailing lists.
New SpamAssassin Configuration Wizard -- this will come after Majordomo, I promise. Your old filter rules are invalid, so bear that in mind.
Urchin profile setup through esprit. This might not make it tomorrow. If you absolutely need to have statistics tomorrow, file a ticket in the control panel to let me know.
2) I see an "Old IP Address" and "New IP Address" listed in the phase one notice. What are these numbers?
The old IP address refers to the location of your account on the old server. The new IP address refers to your new account on the new server. Tomorrow your domain name will be changed from the old IP address to the new IP address, but until that time arrives you can see what your account will look like on the new server. Fortunately the operation is not that complex.
On Windows:
1) Visit Start -> Run to bring up the run prompt
2) Type in "notepad %WINDIR%\System32\drivers\etc\hosts" (without the quotes) to open up notepad with the hosts file
3) Add the following line: 1.2.3.4 www.yourdomain.com
Where: 1.2.3.4 is the value listed for "New IP Address" in the phase one notice and www.yourdomain.com is your domain name, e.g. www.apisnetworks.com.
4) Restart your Web browser and visit www.yourdomain.com. This is a copy of your site as it will appear on the new server. If something looks wrong, then be sure to login to the control panel (either the old or new URL will work fine) to file a new ticket. I'll be able to look at it as soon as possible.
3) What happens if you didn't setup e-mail correctly on the new server?
For the next 48 hours, all e-mail that is destined for the server, but is undeliverable either because the user does not exist in the mailer table, or the backup script failed to back that up, will be temporarily delayed. This means that the e-mail will be retried every 6 hours until either successful delivery or permanent failure occurs. Temporarily delaying all messages causes a lot of overhead from spam, so in 48 hours that feature will be disabled.
4) Something's broken on the new server, help!
There is a good chance something did break, but that is an unavoidable evil of rebuilding every single piece of server infrastructure from the ground up... and doing so withing a month. I had a few anxious volunteers help out with testing the new architecture, but there are limitations to what a group of 5 individuals can accomplish in the span of a week. If something looks out of place or incorrect, the there's a good chance that you are in the right. Please file a ticket in the control panel, provided in the phase one notice, for quickest service.
5) What is this "mailer table" feature in esprit?
While rewriting the internal mail delivery system I recalled, somewhat fondly, of a lot of criticisms of the existing setup. Users are homogeneous across all of my domain names and I want to separate user@domain1.com from user@domain2.com. The mailer table does just that. You can now route a specific user of a specific domain to a specific user's home directory. Read the help on that page and I will go into a bit more detail on it tomorrow.
6) Will my databases become corrupted as a result of the move?
No. Databases are dumped into their SQL embodiment prior to transfer. During phase one and phase two the databases on the new server are wiped clean prior to import. The SQL dumps are transferred over and then run. Transferring the SQL dumps in this manner is akin to running export on phpMyAdmin to dump a copy of the database then running import to recreate it.
Because this question came up, I will go ahead and address how database corruption can occur if done improperly. Corruption occurs when you copy the data directly from the filesystem as MySQL sees it, i.e. straight copy of /var/lib/mysql/<db name>/. The reason it occurs would be due to a write operation on a table at the moment we are copying over a chunk of data. Data from state 1 resides to the left of the boundary and the new data, state 2, resides on the right hand side. When the server goes to copy over the next chunk of data you now have something resembling XXXXYYYYY instead of XXXXXXXXX -- that is corruption.
7) The server is no longer deleting e-mail marked as spam.
We switched local message delivery agents from Procmail to Maildrop. Procmail was the application responsible for deleting messages that the server determined to be spam. The new LDA, Maildrop, has a syntax incompatible with that of Procmail. You will need to recreate the recipe used to delete spam. (TODO: change SA Wizard around for Maildrop syntax)
8) Automatic database backups are missing from esprit
Give it a couple of days. I need to write the new system out, but time considerations have forced me to push it back to after everyone is moved over.
9) Majordomo mailing list support is missing from esprit likewise
I can't carry the system over to Postfix due to security enforcements with Postfix (piped programs can't use a virtual lookup table). Existing mailing lists have been carried over without a problem, but new mailing list creation is pending addition into esprit. I'll get this taken care of later in the week.
==========================
Not quite so important stuff
==========================
1) When attempting to deliver messages via Maildrop to a custom inbox, messages never show up
It sounds like you didn't run maildirmake prior to testing out the script. Maildrop, which has replaced Procmail as the LDA, is extremely picky on destination directories. If the directory does not exist, then Maildrop will panic and defer the message. In order to work around this, just run maildirmake ~/Mail/.*mailbox* where *mailbox* is the name of the target IMAP inbox. Note the period in front of the mailbox name. Maildir (http://en.wikipedia.org/wiki/Maildir) storage format is a lot different from the single-file mbox format that you have used in the past. On the flip side it is much more efficient.
2) I just wrote this really awesome Maildrop script that I'm really proud of, but it doesn't work
Check the permissions on the file. Maildrop is extremely paranoid of any other permission set besides 0600 (u: rw, g:-, w:-).
3) My cron job is spitting out e-mails from /user/@/server/.apisnetworks.com
This is a side-effect of how Postfix operates and the chroot'd nature of cron. postdrop picks up a message created by the sendmail binary, drops it into /var/spool/postfix/maildrop/, another cronjob scans the maildrop/ directories across all accounts, moves them to the global maildrop/ queue, then before delivery passes it through the trivial-rewrite daemon. Addresses are reformed with the FQDN of the server and then handed off to go on their merry way to the recipient. As far as I am aware of, there isn't an easy hack of injecting your FQDN into the message after trivial-rewrite touches it. If you have a better route to take, let me know. I learned Postfix in a couple of weeks, so there's a good chance that isn't the best way of handling it.
4) You said gems were unconditionally upgraded, but XX is missing!
That gem required input from stdin to be built. stdin was closed during the automated process, so the gem installer bailed. Reinstall from the command line.
5) My disk space is reading 50% higher than normal, is this correct?
As promised everyone received a 50% increase in disk space on the new set of servers. This change will be reflected on the package page within a couple of days.
Service Changes
E-mail
MTAs changed from sendmail to Postfix 2.3
Alternate outbound port standardized to submission port (587) across all servers
SSL changed to TLS on port 465
Mailboxes over quota will permanently reject e-mail now instead of temporarily deferring
POP before SMTP removed (does anyone use this still?)
Outbound mail scanning through MIMEDefang disabled
DSPAM availability
Mail lookup tables moved from hash file to PostgreSQL
Majordomo aliases now outside /home/virtual/siteN/fst/etc/aliases; relocated to global map in /etc/postfix
Majordomo now sets the uid to the site admin for list configuration
UW-IMAP changed to Dovecot for IMAP/POP3
POLL support through inotify subsystem used with Dovecot (requires glibc 2.4/kernel 2.6.9.13+ internal changes)
Mail storage changed from mbox to Maildir (resolves random mailbox locking issues)
Default mail spool location changed from /var/spool/mail/username to /home/username/Mail/
Additional mailboxes relocated from /home/username/mailbox to /home/<username>/Mail/.mailbox/
procmail replaced by maildrop for local delivery (new syntax, .procmailrc obsoleted)
Per-user/domain combination mailbox segregation, still defaults to /home/username/Mail/
Dovecot chroot's POP3/IMAP sessions, thus /home/username/Mail/ effectively becomes / to the e-mail client
.mailboxlist -> subscriptions for IMAP mailbox listings. (This change should be transparent to the e-mail client.)
Pine removed from shell e-mail clients, use Mutt
open()/fchdir()/chroot() hack implemented with SpamAssassin to break out of the chroot'd jail getpwnam() creates with Ensim's NSS library. This should speed up message parsing a bit since spamd processes don't have to continuously respawn after each message parsing.
Brought back SpamAssassin daily statistics available in the control panel -- for the time being
Removed Cyrus SASL for SMTP authentication, using Dovecot's built-in mechanism now. A while back there were issues with Ensim's poor implementation of Cyrus SASL that caused authentication to stop working randomly. This was fixed by an additional library provided through them, but hopefully with my changes that shouldn't be a problem. If authentication randomly stops working though, let me know (it shouldn't).
Web Server
PHP5 rewrite rule changes significantly:RewriteCond %{SERVER_PORT} !9000
RewriteCond %{SCRIPT_FILENAME} \.php5$
RewriteRule ^(.*)$ http://%{HTTP_HOST}:9000/$1 [L,P]
Removed subdomain mappings. Subdomains now check /var/subdomain/name/ and go from there; fixes http://subdomain.shared domain/ incorrectly mapping on all servers except Gauss
If the requested subdomain cannot be found under /var/subdomain/, request defaults to document root in /var/www/html/
PHP applications now send e-mails as postmaster@domain by default, overrideable
Enforce 64 MB hard limit on PHP scripts
Removed superfluous Apache directives that had little effect but added plenty of bloat, e.g. Order allow,deny/Allow from all
Removed per-user CGI allowance; inefficient use of resources
Removed ServerAdmin directive from Apache configuration for privacy reasons
Removed HTTPD20/PROD_SERVER constants from Ensim's Web server configuration module. This permanently fixes instances when Apache would reload and sites would be redirected to the control panel
Dropped .php3 file extension
Removed SSL.domain name constant from Apache configuration.
Tomcat 5.0 upgraded to Tomcat 5.5
Default Rails environment is Production
PHP5 no longer logs errors by default; errors logged to page output
Removed Ensimized exclog process for logging requests, moving back to pre-3.7 style of CustomLog
Removed domain preview program; use hosts override to preview site (still available only under special cases)
RubyGems now placed under /usr/local/lib/ruby/gems/, this is done by the GEM_HOME environment variable set in $HOME/.bash_profile. You can now do something like gem install mongrel -y without the installer complaining about permission problems on /usr/bin/. This carries one nasty side effect such that bindir is forcefully set to /usr/local/lib/ruby/gems/1.8/bin, but you can run a symlink to a file in there over to /usr/local/bin. rmagick also builds cleanly.
FTP
ProFTPD switched to vsftpd
Added optional TLS authentication layer on port 21
Anonymous FTP disabled
Per-user chroot (/home/<user>/) now possible -- file ticket for per user requests
Control Panel/Misc
apnscp permanently retired, replaced by apnscp esprit
40001 - 49999 reserved ports for accounts. 4xxx0 - 4xxx9 allowable port range (10 ports) where xxx = site number, e.g. site1 may use [40010,40019] and site134 may use [41340, 41349] for permitted daemons (absolutely no IRC [NOC policy] and no BitTorrent [our policy] clients or servers)
E-mail aliases/forwarder/Majordomo management moved from Ensim to apnscp
http://servername.apisnetworks.com/cpadmin/ now correctly maps to esprit (in the case a user clicked on the CP URL during domain preview)
Sub-users now have /etc/skel/ contents copied fully
Due to incessant whining, cron daemon will automatically start-up is previously installed at start-up. This will change eventually to user-configurable within esprit.
CPAN available from the shell
<hr />
Software Changes
Urchin profiles no longer automatic, setup manually through control panel if requested (licensing costs)
Ruby 1.8.4 -> 1.8.5
ImageMagick 5.x.x -> ImageMagick 6.2.5
glibc 2.3 -> 2.4
Redhat Enterprise Linux 3 -> CentOS 4.4 (analogous to Redhat Enterprise Linux 4.4)
phpize, php-config for PHP5 named phpize5, php-config5; header files moved to /usr/include/php5
Apache 2.0 -> 2.2
Removed mod_frontpage
Kernel upgraded 2.6.9 -> 2.6.19
FastCGI bindings now standard
PostgreSQL 8.1 -> PostgreSQL 8.2
RubyGems 0.9.0 -> 0.9.1
BIND 9.2 -> 9.4
Java 1.5 -> 1.6/Tomcat 5.0 -> Tomcat 5.5
Perl 5.8.5 -> Perl 5.8.8
<hr />
Internal Changes
IRQ balancing changed from kernel-based to software (better reliability on rebalancing IRQs)
Intel I/O AT used to offload TCP packet processing onto the NIC
Dell Remote Access Card v5 used, requires IPMI interface that is compiled and works as expected
Watchdog interface shifted from software (which results in erroneous reboots occasionally) to IPMI-based one in DRAC
/ (68 -> 135 GB) , /boot (100 MB -> 100 MB), swap (4 -> 2 GB), /tmp (n/a -> 2 GB) mount points, /tmp is RAID0, all others RAID1
Track individual RPM files under FST/filelists/service name/app name-app version.txt
FST-installed RPMs now correctly handle symlinks instead of duplicating referent
Include MySQL socket monitor to ensure table locks don't trickle out into global locks
Poll individual FST mail spools every 5 minutes for messages waiting in maildrop. These messages occur when sent from the shell.
Tomcat relocated from Ensimized /var/tomcat4/ to /opt/tomcat4/
Removed all auxiliary Ensim components except for opcenter/ (Ensim's CP), vh3 Python package, /etc/virtualhosting/, and a few wrapper scripts
Removed redundant PAM authentication scripts for IMAP/POP3/FTP for sites. The main one in /etc/pam.d/ handles authentication, each one in FST/etc/pam.d/ just adds unnecessary checks.
ACLs no longer recalculate an effective mask; thus adding a user outside the group won't modify the permission set for other
David Ginger
02-07-2007, 09:37 AM
Looks very smooth from this end.
The only problems so far are
(1) Cant FTP in no idea why, rejects my user name && password
(2) Squirrel Mail is not working, can not log on.
(3) Majordomo does not work in the new control panel.
Looks very smooth from this end.
The only problems so far are
(1) Cant FTP in no idea why, rejects my user name && password
(2) Squirrel Mail is not working, can not log on.
(3) Majordomo does not work in the new control panel.
(1) What user is this for? A sub-user? Re-enable the service for the user in the control panel. Another user reported the same problem on a server, but I can't reproduce it. Drop me a PM with the login/password (or file a ticket through the cp) if you could.
(2) Does Horde work? http://horde.<yourdomain>/. (1) and (2) are probably related.
(3) You missed the first post I see. Majordomo administration through esprit is coming, but first it has to be rewritten because I couldn't do a straight carryover with Postfix as the new MTA.
ZeeBoi
02-07-2007, 11:04 AM
On Borel, I click to enable crontab support, it says succeeded but nothing changes (I can't add cron jobs).
Just a heads up. If you want the domain and stuff, let me know.
ZeeBoi
02-07-2007, 11:09 AM
Under Disk Usage, I see this for every user:
Notice: Object of class FileError could not be converted to int in /usr/local/apnscp_esprit/lib/html/Base_Container_HTML.php(4) : eval()'d code on line 34 0.000 MB
Again, that's borel.
ZeeBoi
02-07-2007, 11:19 AM
Last one for today, promise. :D
Subscribed folders don't go away when you unsubscribe them, whether it's done in Squirrelmail or a mail client.
tsaunders
02-07-2007, 12:04 PM
Could this have caused my mailing lists to stop working? I send an email to it (club@bathsnowsports.net), and I don't get an error message to the admin address, nothing happens. Used to work fine previously, and has done for the past 4 or 5 months.
raezr
02-07-2007, 12:29 PM
The only problem I've noticed is that this new PHP5 rewrite rule isn't working for me, however the old one still is.
David Ginger
02-07-2007, 03:00 PM
Which just goes to prove :
If it is not broke do not try and fix it
:-)
raezr
02-07-2007, 07:08 PM
I was looking forward to the new rewrite rule, the old one caused problems with scripts that used the $_SERVER['SERVER_NAME'] variable.
I figured out what I was doing wrong though, I just copied the code incorrectly. Stupid mistake :o
David Ginger
02-07-2007, 09:52 PM
Well I am HAPPY
I can wait for any more fixes that need doing.
haljordan
02-07-2007, 10:30 PM
when trying to visit my gallery page http://fuckcarlosmencia.org/gallery i get the following:
Error
Error (ERROR_BAD_PARAMETER) :
* in modules/core/classes/helpers/GalleryEntityHelper_simple.class at line 50 (gallerycoreapi::error)
* in modules/core/classes/GalleryCoreApi.class at line 2382 (galleryentityhelper_simple::loadentitiesbyid)
* in init.inc at line 174 (gallerycoreapi::loadentitiesbyid)
* in main.php at line 161
* in main.php at line 87
* in main.php at line 80
is this related to the move or should i do a reinstall of gallery?
when trying to visit my gallery page http://fuckcarlosmencia.org/gallery i get the following:
Error
Error (ERROR_BAD_PARAMETER) :
* in modules/core/classes/helpers/GalleryEntityHelper_simple.class at line 50 (gallerycoreapi::error)
* in modules/core/classes/GalleryCoreApi.class at line 2382 (galleryentityhelper_simple::loadentitiesbyid)
* in init.inc at line 174 (gallerycoreapi::loadentitiesbyid)
* in main.php at line 161
* in main.php at line 87
* in main.php at line 80
is this related to the move or should i do a reinstall of gallery?
Fixed, had to purge the g2data/cache/ directory of its files.
70 tickets down, 9 of which were ticket spam, 40 of which were the small issues that weren't properly addressed........ and let's see... VSFTPD buffer length. Got that fixed. Two more tickets to handle and then I can finally work on Majordomo support, add Urchin back, setup any requested profiles, and fix crontab support in esprit. I'm doing quite well on 5 hours of random napping throughout the day.
MatchstiK
02-07-2007, 11:46 PM
**** Nevermind Me I Found It, I Was Dumb ****
hunted
02-08-2007, 07:53 PM
Just wanted to say, anyone trying to get php5 to work, the rewrite rule listed in the first post didn't work for me, but this did, it has no / at the beginning of the Rule.
RewriteCond %{SERVER_PORT} !9000
RewriteCond %{SCRIPT_FILENAME} \.php5$
RewriteRule ^(.*)$ http://%{HTTP_HOST}:9000/$1 [L,P]
Crontab support is back. Missing initlog in the new filesystem template.
Majordomo support will be back in the morning. I have everything working fine on the dummy account.
ZeeBoi
02-09-2007, 10:49 AM
I believe the SA config tool is writing the path to the "Spam" folder the old way:
$HOME/Spam
Because spam is just going straight to the inbox right now. What would be the correct path?
ZeeBoi
02-09-2007, 12:01 PM
Adding a cron job in esprit doesn't work
Notice: Trying to get property of non-object in /usr/local/apnscp_esprit/lib/datastream.php on line 130 Notice: Trying to get property of non-object in /usr/local/apnscp_esprit/lib/modules/crontab.php on line 109
ZeeBoi
02-09-2007, 12:41 PM
FTP on borel is behaving very erratically.
FTP on borel is behaving very erratically.
What problems are you running into exactly?
Majordomo support is back. You can't create new lists just yet though, but you can edit members and configuration by hand finally. Lists are under /var/lib/majordomo/lists/ on the server.
Urchin is back. If you want Urchin for Web site statistics reporting, please file a ticket for me to move your profile and information over to the new server. You may access it via HTTP and HTTPS now too. Profiles are no longer automatically created because we're getting licenses at costs with no subsidizing.
ZeeBoi
02-10-2007, 12:17 AM
What problems are you running into exactly?
Majordomo support is back. You can't create new lists just yet though, but you can edit members and configuration by hand finally. Lists are under /var/lib/majordomo/lists/ on the server.It would hang a little while connecting (during PASS), then when I did get in and try to upload it just failed on me.
Could have just been the computer/software/connection I was on at the time.
Also, I want to pay my next bill soon but the billing page won't load; will it soon?
mattm
02-10-2007, 05:01 PM
I've run into a problem that is probably easy to solve, but I really have no idea. Anyway, a couple buddies and I primarily use our domain for E-Mail. 2 of us have no problems, but for the past couple days one guy has not been receiving any E-Mail. He hasn't gotten any error messages in Thunderbird, but then when he tried Squirrel Mail today he got the following:
ERROR: Connection dropped by IMAP server.
Query: CAPABILITY
I've tried doing some searches on that, but haven't really found anything too helpful. Any ideas? Thanks very much.
freeb0rn
02-11-2007, 01:57 AM
While trying to use the PEAR Package Manager through Esprit on the new server (I'm on Borel):
Installing LiveUser_Admin...
-bash: pear: command not found
David Ginger
02-11-2007, 12:07 PM
I am wondering about Majordomo,
I can understand that doing a new ultra cool control panel is worth waiting for, and that APIS has been more than a little overworked and underpaid recently.
However, I would like to be able to send commands to majordomo@mydomain.com, and control majordomo by "hand", at least until the new control panel is up and running.
Nuphor
02-11-2007, 06:07 PM
It would hang a little while connecting (during PASS), then when I did get in and try to upload it just failed on me.
Could have just been the computer/software/connection I was on at the time.
Experiencing this too, also on Borel.
MarmaladeMan
02-11-2007, 06:37 PM
I just noticed that all my user/virtual subdomains disappeared from my subdomain list, but they still work properly when accessed from the web.
I am wondering about Majordomo,
I can understand that doing a new ultra cool control panel is worth waiting for, and that APIS has been more than a little overworked and underpaid recently.
However, I would like to be able to send commands to majordomo@mydomain.com, and control majordomo by "hand", at least until the new control panel is up and running.
Edit the config in /var/lib/majordomo/ which will be quicker to do, but you can use majordomo@domain now (or you should be able to now).
I've run into a problem that is probably easy to solve, but I really have no idea. Anyway, a couple buddies and I primarily use our domain for E-Mail. 2 of us have no problems, but for the past couple days one guy has not been receiving any E-Mail. He hasn't gotten any error messages in Thunderbird, but then when he tried Squirrel Mail today he got the following:
ERROR: Connection dropped by IMAP server.
Query: CAPABILITY
I've tried doing some searches on that, but haven't really found anything too helpful. Any ideas? Thanks very much.
User ran over quota.
While trying to use the PEAR Package Manager through Esprit on the new server (I'm on Borel):
Installing LiveUser_Admin...
-bash: pear: command not found
Do me a favor and PM me the packages you need. I think I'm going to relocate local PEAR packages to /usr/local/ like with Ruby to make things a bit more manageable between server-wide and local site packages.
I just noticed that all my user/virtual subdomains disappeared from my subdomain list, but they still work properly when accessed from the web.
Known issue. I think I posted about this already in the thread. New subdomain system; haven't had time to write out the underlying module changes. Make a directory under /var/subdomain/ named foo. foo now becomes a valid subdomain. Next make a symlink named html to wherever and that is the document root for foo. Use a relative symlink (e.g. ln -s ../../var/www/html/ foo).
Experiencing this too, also on Borel.
Hm this is the only one I don't have an answer for... what time did it happen? ns1/2.apisnetworks.com are under a bit of stress now with the 60 second TTL on DNS. All of the servers locally use those nameservers to do rDNS on the IP addresses. I upped the TTL for sites that were previously on gauss, linear, and kernel back to 86400 seconds so that should cut down on the load. When was the last time that this problem cropped up?
David Ginger
02-11-2007, 08:11 PM
Well I am still not getting response to a simple e-mail that requests a list of the members on a mailing list.
So is this a global problem or local, should I file a ticket ?
I'll have another look latter tonight.
freeb0rn
02-11-2007, 08:29 PM
Do me a favor and PM me the packages you need. I think I'm going to relocate local PEAR packages to /usr/local/ like with Ruby to make things a bit more manageable between server-wide and local site packages.
I can wait until you've relocated PEAR and everything works again through the cp, I'm not in a rush.
Well I am still not getting response to a simple e-mail that requests a list of the members on a mailing list.
So is this a global problem or local, should I file a ticket ?
I'll have another look latter tonight.
Through the majordomo@<domain> address? That should be fine now for your site. There was an issue with Majordomo returning an error on being unable to write to the log file for the domain. Now, the problem is that ACLs are setup for user nobody and a quick sudo that writes to log works fine too. I'll have to dig a little deeper into how Majordomo is handling file access, because if they are all syscalls then there's no reason why a write on the log file would fail.
I can wait until you've relocated PEAR and everything works again through the cp, I'm not in a rush.
I'll get it done tomorrow. I'll also go through and update the include paths on the server over to /usr/local/share/pear.
Experiencing this too, also on Borel.
Fixed. Had PAM debugging turned on with VSFTPD. Each login sent about 500 lines to syslog which as you can tell is kind of slow. :)
MarmaladeMan
02-12-2007, 10:13 AM
Known issue. I think I posted about this already in the thread. New subdomain system; haven't had time to write out the underlying module changes. Make a directory under /var/subdomain/ named foo. foo now becomes a valid subdomain. Next make a symlink named html to wherever and that is the document root for foo. Use a relative symlink (e.g. ln -s ../../var/www/html/ foo).
Thanks for the info Matt, sorry I missed the earlier message about it! Cheers man.
ZeeBoi
02-12-2007, 01:50 PM
Matt, when will the billing page work again? I would really like to pay now before it's too late. Thanks. :)
Nuphor
02-12-2007, 04:08 PM
Fixed. Had PAM debugging turned on with VSFTPD. Each login sent about 500 lines to syslog which as you can tell is kind of slow. :)
Works a charm, thanks Matt :)
One other problem though. When installing Rails through esprit, installation seems to hang for me constantly when it gets to "rm -f .config rm -f InstalledFiles" in the log. This is for theprotected.com. I'll file a ticket if that'd be easier for you.
Works a charm, thanks Matt :)
One other problem though. When installing Rails through esprit, installation seems to hang for me constantly when it gets to "rm -f .config rm -f InstalledFiles" in the log. This is for theprotected.com. I'll file a ticket if that'd be easier for you.
If Rails installed fine, file a bug report at http://apnscp.com/bugtracker/ once I get that back up in a couple of days. I don't need any more tickets :x.
freeb0rn
02-13-2007, 08:46 PM
If Rails installed fine, file a bug report at http://apnscp.com/bugtracker/ once I get that back up in a couple of days. I don't need any more tickets :x.
I've tried installing rails (on borel) as well to mess around with it and I'm getting the same behavior, also a bit further up the log:
Builing FCGI Gem...
/bin/sh: gem: command not found
Installing rake...
/bin/sh: gem: command not found
Installing Rails...
/bin/sh: gem: command not found
Installing MySQL bindings...
/bin/sh: gem: command not found
Installing PostgreSQL bindings...
/bin/sh: gem: command not found
Changing Ownership for Gems...
chown: changing ownership of `/home/virtual/freeb0rn.net/usr/local/bin/*': No such file or directory
Cleaning Ruby install...
I've tried installing rails (on borel) as well to mess around with it and I'm getting the same behavior, also a bit further up the log:
path issue with the gem command, /usr/local/bin/ isn't included in the child process. Fixed on the servers now.
Anyway here's the agenda for the next couple of days:
Publish the new SpamAssassin Configuration Wizard tomorrow, doing some debugging on the new changes
Relocate PEAR to /usr/local/
Replace subdomain management portion of Ensim with esprit version (replaces Add/List Subdomain links in esprit)
Add MajorCool (http://www.siliconexus.com/MajorCool/) and fix-up Majordomo
Fix IP-based FTP authentication
File manager bug was fixed last night also.
freeb0rn
02-14-2007, 12:30 AM
It still seems to be locking up at this point:
rm -f .config
rm -f InstalledFiles
How do I check if ruby is "installed" despite this?
Ah Okay, in the Language Options:
Local Rails Version:1.2.2
Remote Rails Version:1.2.2
I just hope that's near the end of the "install" process so nothing essential is left out?
EDIT:
In following the mephisto instructions im trying to do (from within the mephisto/ dir):
rake rails:freeze:edge
and I get:
/usr/local/bin/rake:9:in `require': no such file to load -- rubygems (LoadError)
from /usr/local/bin/rake:9
EDIT #2;
Since we have 1.2.2 Rails installed here I guess I don't need to freeze to edge, but gem <whatever> and rake <whatever> should work right? Is there a path problem? i.e. I still need to "rake db:bootstrap"
It still seems to be locking up at this point:
How do I check if ruby is "installed" despite this?
Ah Okay, in the Language Options:
Local Rails Version:1.2.2
Remote Rails Version:1.2.2
I just hope that's near the end of the "install" process so nothing essential is left out?
That is the very end. It should have installed. Also be sure to pull the GEM_HOME/RUBYLIB environment variables + export command out of /etc/skel/.bash_profile. When synchronized from your old server, those were overwritten with the older versions. gem will puke otherwise.
freeb0rn
02-14-2007, 01:27 AM
Where's ruby actually installed to? /usr/bin/ruby/ isn't a directory (there's just some sort of weird "ruby" file in /usr/bin/ but no dir). Also I never used ruby/RoR before the migration so nothing should be overwritten?
Core Ruby libraries are in /usr/lib/ruby/. Gem Ruby library and gems are under /usr/local/lib/. You would install under /usr/local/lib/ because /usr/lib/ruby/ is hardlinked to the master filesystem (which is what the GEM_HOME environment variable does).
freeb0rn
02-14-2007, 01:38 AM
EDIT: Okay, trying that.
No, as I said, you should copy them into your own .bash_profile in $HOME.
freeb0rn
02-14-2007, 01:44 AM
Got it, thank you. Added to wiki.
One last question, where does the .htaccess with the fcgi stuff need to go exactly?
Got it, thank you. Added to wiki.
One last question, where does the .htaccess with the fcgi stuff need to go exactly?
Probably a good idea since that question has popped up more than once. gem will install binaries to/usr/local/lib/ruby/gems/1.8/bin/. .htaccess goes in public/. If you're running it from a subdomain be sure to include "RewriteBase /" at the top.
freeb0rn
02-14-2007, 02:11 AM
Apps are supposed to go in /var/www/ ? Because I think I did a silly and put it under /var/www/html :(
Apps are supposed to go in /var/www/ ? Because I think I did a silly and put it under /var/www/html :(
It's easier that way. Just move it to /var/www/ and make a symlink from appname/public/ to html/, e.g. ln -s app/public/ html from the /var/www/ directory.
freeb0rn
02-14-2007, 02:16 AM
Okay, I'm not sure that I actually want this to replace my /html/ directory, I just want to mess around with it (and keep all the stuff within /html/, too). Should I not be able to just access it by like:
http://freeb0rn.net/mephisto/< something > ?
Okay, I'm not sure that I actually want this to replace my /html/ directory, I just want to mess around with it (and keep all the stuff within /html/, too). Should I not be able to just access it by like:
http://freeb0rn.net/mephisto/<somethign> ?
Logic dictates that if you don't want to delete html/, then install your application somewhere under html/ or install under /var/www/ and make a symlink of appname/public/ to html/myapp/. I need to get back to work now.
SpamAssassin Configuration Wizard (http://apisnetworks.com/saconfig.php) has been updated to include Maildrop and Maildir. Do not copy the .mailfilter file if you are on Windows. Windows' EOL marker, \r\n, will cause abnormal behavior with Maildrop such that messages will not be properly delivered.
ZeeBoi
02-15-2007, 10:26 AM
I get this error:
Fatal error: Call to undefined function: ftp_chmod() in /home/virtual/site1/fst/var/www/html/index.php(573) : eval()'d code on line 318
when I go to save my settings within SA Config.
I inserted echelon.apisnetworks.com as server, username@domain.tld as username and the corresponding password.
I get this error:
when I go to save my settings within SA Config.
I inserted echelon.apisnetworks.com as server, username@domain.tld as username and the corresponding password.
D'oh ftp_chmod is a PHP5 function. Fixed.
ZeeBoi
02-15-2007, 03:34 PM
Works nicely now, thanks. :D
Only thing that bothers me about e-mail now are the irremovable "subscribed" folders like "subscriptions" or leftovers on some of the accounts I use from before the move.
Works nicely now, thanks. :D
Only thing that bothers me about e-mail now are the irremovable "subscribed" folders like "subscriptions" or leftovers on some of the accounts I use from before the move.
Delete the line named that in $HOME/Mail/subscriptions.
ZeeBoi
02-15-2007, 03:55 PM
Delete the line named that in $HOME/Mail/subscriptions.Rock. Thanks!
(I actually removed .subscriptions and whatever else was botheirng me from the "subscriptions" file.)
ZeeBoi
02-15-2007, 04:54 PM
Oh yeah... you're probably aware that currently functioning subdomains created before the move don't show up in the subdomain list, right?
David Ginger
02-16-2007, 12:45 PM
Just wondering what is happening with Majordomo Mailing Lists.
At the present I can do some simple commands by sending majordomo an e-mail. This is not nearly as user friendly, and hence less powerful than a cool control panel.
It's in the same state that it was in before the server migration. MajorCool will come eventually, but you must realize that bringing everything up to pace with how it was pre-move and planning the second batch of servers are a higher priority at this time. I don't have an ETA at this time. The one immediate perk is that you can edit the list configuration by hand now without having to worry about permission issues.
MarmaladeMan
02-18-2007, 12:47 PM
Not sure if this is known yet:
Managing users for password-protected directories (htaccess) has some issues. If I add a user, they're added to the proper group in .htgroup, but their password is not added to .htpasswd. I also can't update a user's password.
It's not a huge problem because I can edit the files by hand easily, but I wanted to check if this was on the radar.
Not sure if this is known yet:
Managing users for password-protected directories (htaccess) has some issues. If I add a user, they're added to the proper group in .htgroup, but their password is not added to .htpasswd. I also can't update a user's password.
It's not a huge problem because I can edit the files by hand easily, but I wanted to check if this was on the radar.
That one in fact did slip underneath the radar. Should be fixed now and I want to finish off the filesystem changes by this Friday, so if some binary is missing from the shell, then let me know.
MarmaladeMan
02-22-2007, 02:18 AM
Cool. Also just noticed something in the File Manager in esprit. I did a recursive delete of a folder, which seems to have worked fine (folder's gone), even though I got a "Status: Failed!" and Details spit out a bunch of preg_match() expects parameter 2 to be string, array given.
nichie
02-23-2007, 09:35 PM
I just tried to use FTP for the first time since the server move and I can't get on with the new servers. ("Connection refused.") I get the same error when I try to log in through the new control panel. "SocketError error: Unable to connect to socket, is apnscp running?
Connection refused"
I made very sure that I had all the right settings, so I don't know why it isn't working for me.
Username nichie, domain nichie.net. My old server was kernel and my new one is echelon.
MarmaladeMan
02-23-2007, 10:58 PM
Just to be sure: are you using username nichie@nichie.net to connect to FTP?
nichie
02-23-2007, 11:16 PM
yeah, i am using that-- i could get on FTP fine before the move and am still using that same username.
however, i just tried to log on again and it seems to be working now. i didn't do anything different, but now it will connect through FTP. i have not tried the file manager yet because i don't use it very much.
I just tried to use FTP for the first time since the server move and I can't get on with the new servers. ("Connection refused.") I get the same error when I try to log in through the new control panel. "SocketError error: Unable to connect to socket, is apnscp running?
Connection refused"
I made very sure that I had all the right settings, so I don't know why it isn't working for me.
I have a good feeling you are on Echelon. If that's the case you should be fine now. There was an account that added a user, let's call him "dan" and "dan" just so happened to decide that running a bruteforce FTP scanner was a good idea. Running about 400 FTP scanners in parallel tends to max out open file limits rather quickly leading to a quick account suspension and termination. Don't do that, it is a bad idea.
Sorry for the dilatory response; this was cleared up at approximately 8:30 PM EST (about 2 hours ago).
Vector and Eigen will be entering phase 1 tomorrow (basic filesystem synchronization). Phase 2, the actual process when DNS is updated to the new servers, will occur on Wednesday beginning at 10 PM. Augend will be serving as a temporary backup for the old servers. With a bit of soldering on the backplane, Augend now has a 500 GB SATA in the rear where the additional PCI-X card goes. It isn't pretty and I expect a short life out of the drive, but it works. :)
By the way if you check the server statistics section of esprit, then you would see that the servers only have about 3.2 GB available instead of the full-blown 4 GB. This was due to a kernel misconfiguration (apparently you had to select the 64 GB memory option, not 4 GB), but honestly you aren't even making enough of a dent in the server to warrant a reboot :cool:.
I have to say I am extremely impressed with how all of the 80+ changes have improved performance over eight fold. For those of you that know me, you know how much I bemoan Ensim for its awful scalability. Consider this a world first: an efficient server architecture backed internally by Ensim :).
Once I finish adding those missing functions back into esprit we'll be in great shape.
A quick heads-up, bandwidth pipes may periodically max out for the new few days as I finish bringing over the rest of the old server snapshots and finish migrating Vector/Eigen. Gnax is also removing Cogent entirely from the gold network, so we will have a Telia/Savvis/PCCWBTN/Global Crossing/AIX peering.
ns1 and ns2 have been shifted from 67.15.16.214/67.15.52.140 to 64.22.68.59/64.22.68.60 respectively. I will be cutting the cord loose on those two DNS servers after 48 hours on Sunday at 6 PM EST (-0500 GMT).
If you masquerade your domain as a nameserver, e.g. domain.com delegates DNS authority to ns.domain.com which has the IP address of 67.15.52.140 instead of delegating DNS directly to ns1.apisnetworks.com, then be warned you should update to 64.22.68.59/64.22.68.60 immediately.
Eigen and Vector enter phase two tomorrow. Final filesystem backups will follow on Saturday and we should be ready to concentrate exclusively on the new data center by the 6th.
ns1 and ns2 are now 64.22.68.59/64.22.68.60 respectively. The old nameservers will be slaves to 64.22.68.59 (ns1.apisnetworks.com) through probably the 6th. Vector is entering phase two onto our dearly beloved "Assmule" at this time. Eigen will follow shortly once Vector is taken care of. This is the home stretch folks. Finally we can bring closure to the most arduous 3 months of late hours, creative curses (I hate cat5 cabling), and stockpiling of Tums.
Vector and Eigen represent the last set of servers from EV1, the company that Apis began with nearly 5 years ago (technically 4 2/3 years). Two critical lessons were learned during the time with EV1: (1) there is a lot of competition in this market, perhaps the most over-saturated and commoditized market out there and (2) differentiation is key.
In order to differentiate you needed to think a bit outside conventional boundaries and experiment with new architectures and services. On that notion apnscp was born back in March of '03 as a means to survive in this dense market. Personally I am never fully satisfied with anything, so apnscp needed a rewrite... a few dead drives later and esprit was prototyped in March '05 -- do you see a pattern emerging? March is a good month for progress :).
Two facets exist to any Web hosting business, a control panel and a backend that keeps your sites up and running with minimal fuss. esprit satisfied the need for a differentiated control panel. It's still evolving, but progress has been roadblocked in favor of the data center move. I will be picking back up on esprit's development this weekend. The second critical issue that was typically masked by heavy optimizations and sacrifices would be our lovely backend architecture designed by Ensim. *cough*. I have never had a single nice thing to say about their architecture and I will continue to stress this conviction: Ensim is trash.
Take for example your Web server. Ensim separates configuration into about 6 separate files per site, which is nice for management, but when you reload the Web server it suspends Web server operations and then reloads all of these files. Multiply that number out by 300, the average number of sites per server in the third generation, and suddenly 6 configuration files turns into 1,800 configuration files. Every single time you added a subdomain, every single time you added an alias, every single time you created a new user on the server Ensim would go through the process of suspending the Web server and then reading each of the 1800 individual files. What you saw would be a period of 3 minutes when the servers were running at optimal efficiency (that's a subjective term) where it would be unresponsive queuing connections. Fortunately I put my foot down and fixed that over a year ago to generate the configuration files into a monolithic one prior to reload, but this anecdote has an important lesson. These are the same guys advocating that their control panel can host unlimited domains. Sure, you can stuff 300 domains on there with little optimizations but there will be significant pains in serving the content for those 300 domains. It's a fact of life: if you genericize a solution for use by the mainstream, you will not provide the most efficient medium of delivering the solution.
The fourth generation forms not only the cornerstone of this belief, but also serves as an example. When making the purchasing decisions I wanted to limit processing power to impose an artificial limit on optimization slack. In other words, I could keep throwing hardware at the servers, but eventually the benefits will diminish as the costs increase and we reach processing capacity on a single server. Everything internally had to go and that's what posed the biggest problem: to take a legacy system, gut it, replace it with new parts, and make everything fit seamlessly. That itself was a big challenge, but to complicate the entire process by imposing a deadline of two months, well now we go from a big challenge to a monumental task. There were often times, especially as I drew closer to deadline of moving the first batch, that maybe this was an impossible task. I don’t want to bore you guys with the minute details of what went on, but just know that often times the dream of developing a high performance system with seamless integration came under threat. As you see though, with several lucky breaks, long nights, and most important: perseverance (and cursing) we have a one-of-a-kind architecture that is not only efficient, but fits into Ensim… something not even Ensim has been able to do right. I will leave you guys at that and catch some sleep, because tomorrow I resume the role as your faithful slave to coding.
MarmaladeMan
03-03-2007, 05:40 PM
Awesome Matt. I can't tell you how happy I've been with the flexibility and feature set here at APIS. You do an amazing job. I've learned a lot along the way too.
Just wanted to relay some random errors I've noticed in the past day. Yesterday I logged in and got:
Notice: Undefined offset: 1 in /usr/local/apnscp_esprit/lib/modules/common.php on line 226.
I logged in several times yesterday but only once got that error. I just logged in today and got this:
Notice: A non well formed numeric value encountered in /usr/local/apnscp_esprit/lib/modules/billing.php on line 130
Notice: A non well formed numeric value encountered in /usr/local/apnscp_esprit/lib/modules/billing.php on line 140
The 'Next Billing Date' is also listed as March 3, 1970. Just thought I'd pass that on.
Rewriting the billing system or rather trying to. Two more issues are left: one dealing with servlets in Tomcat and the other with Frontpage extensions. After that, then onward to the billing system. Give it some time.
MarmaladeMan
03-06-2007, 12:46 AM
Roger. Hasn't been giving me any problems at all so no worries.
FrontPage is back up, but not in the control panel yet. All existing FrontPage Webs have been recreated. Several changes in the Apache module were necessary to get FrontPage to work with Apache 2.2 and it looks like we are one of the few to make the magic happen with Apache 2.2 :).
I am going to bring back the classic subdomain interface to the control panel tonight as a temporary fix. The amount of work that I have had to do the past couple of weeks has precluded me from doing even a marginal amount of coding changes to esprit. Secondly, file manager will be fixed by tonight as well. Finally...
E-mail Policy Changes
These changes will go into effect Friday, March 16th. I will post this in the control panel this Friday.
1) Users over quota will have a 1 week grace period to return under their disk quota before e-mail access is disabled for the user account. For 99.9% of users this is not a problem, because you know when you are over quota within a day as e-mail stops coming in. Seven days should be adequate time for users that regularly use the e-mail account to free up some disk space so that messages can continue to flow in. Often times what happens is that a user's account goes unchecked, messages come in, user is over quota, and the message is temporarily deferred only to be retried 19 more times. For each of these 19 times SpamAssassin re-evaluates the message wasting a considerable amount of CPU time (it's not like we need to ration CPU time, but still).
2) Catch-alls will no longer be directly forwardable to an external address. In order words you may not setup a catch-all as an alias. It must be setup as a virtual mailbox that points to a user on the server. You would need to add a recipe to forward the message to your external account in the .mailfilter file that is located in your home directory, e.g.
if (!/^X-Spam-Flag: YES/)
{
to !user@myotheraddress.com
}
The reasoning behind this is that MTAs don't care where the message originated from. They just care about which relay touched the message last. Catch-alls receive the message and then hand it off to your external e-mail address, so to Yahoo, GMail, Hotmail, AOL, Comcast, whoever, the only data they know for sure is that this server was the last to touch it. If the message is marked as spam and your address is inundated with messages, then all of those messages get relayed off to Comcast that incorrectly labels us as the origin of the spam. Comcast then implements a block on the IP address and you have a problem.
If your catch-all account goes to a local user on the server, then you have no need to worry. Again though I highly recommend that you do not use catch-alls due to the susceptibility of abuse these days.
The rationale behind this is that
MarmaladeMan
03-11-2007, 12:20 AM
Miscellaneous errors:
I'm getting Warning: Division by zero in /usr/local/apnscp_esprit/lib/html/Base_Container_HTML.php(4) : eval()'d code on line 68 on my bandwidth statistics page. This is where it shows up: http://www.hiprmod.net/misc/divisionbyzero.gif
The data seems to display fine otherwise.
My disk usage breakdown page is broken - hard to explain so I took a pic:
http://www.hiprmod.net/misc/diskbreakdown.gif
That's all I see at that page.
My bandwidth breakdown page is only listing bandwidth consumed by FTP and SSH. Is MySQL missing in there?
Control panel bugs, don't mention them just yet. Still working on catching up on the backlog.
-------
In other news, PEAR and CPAN support are back if you have shell access. CPAN is stashed under /usr/local/lib/perl5/ and PEAR under /usr/local/share/pear/. Both CGI and PHP applications should pick up on the packages. Package Manager won't install PEAR packages correctly just yet. I will patch that probably tomorrow along with FrontPage toggle support.
Webalizer should work out of the box now. Just run webalizer from the shell and add a subdomain via "Add Subdomain" to point to /var/www/usage/. Further configuration may be done via the /etc/webalizer.conf file. I skipped over this important caveat regarding Perl's nonstandard library location. If you run in taint mode (/usr/bin/perl -T), then Perl won't pull modules from the custom path. Either disable taint mode (you write secure code that isn't setuid, right? ;)) *or* add this at the top:
use lib '/usr/local/lib/perl5/site_perl';
And that's only necessary if your Perl script is running in taint mode otherwise it should automatically pick up the extra library path.
Multiple Domain Manager works correctly now.
FrontPage may be enabled/disabled as well
Trac will be available by the time you wake up (0.10.3.1)
No ETA on billing system/one-click install facility/credit card processor.
Trac has been committed downstream, so you should see it at this time. PEAR package management works once again and my arrow keys are dead in Firefox :(
ZeeBoi
03-21-2007, 11:18 AM
Any idea when individual users can log into esprit to do stuff like create a vacation responder? The hotel I work at really needs that again.
I'll work on that today then.
ZeeBoi
03-21-2007, 05:16 PM
Is this why php isn't working on borel? :)
Come again? It looks fine to me.
ZeeBoi
03-21-2007, 05:24 PM
Anything with a .php extension gives me a blank page in firefox, and a "this page cannot be displayed" in internet explorer.
I tried uploading a file with phpinfo and that won't show up either.
Odd. Anything not immediately cached by eAccelerator was segfaulting, so the phpinfo.php script I checked came up fine every time. In the future file a ticket through the control panel instead of posting that on the forums as it will always result in the quickest response.
ZeeBoi
03-21-2007, 05:29 PM
Well it's back now. I just thought you might have disabled it or something. Next time I'll fire off a ticket. :)
No, disruptive service changes stemming from maintenance always occur after midnight EST usually in the 2 AM - 3 AM window. Things shouldn't break during the day.
weapey
03-21-2007, 08:22 PM
Trac has been committed downstream, so you should see it at this time. PEAR package management works once again and my arrow keys are dead in Firefox :(
Trac doesn't seem to work, at least trac-admin in shell:
[username@image ~]$ trac-admin
Traceback (most recent call last):
File "/usr/local/bin/trac-admin", line 21, in ?
from trac.scripts.admin import run
ImportError: No module named trac.scripts.admin
Module missing?
Close, environment variable missing -- PYTHONPATH didn't make its way onto Image. Fixed.
weapey
03-21-2007, 09:24 PM
Close, environment variable missing -- PYTHONPATH didn't make its way onto Image. Fixed.
Trac-admin is now running, thanks.
Having problems getting the trac.fcgi/cgi working correctly. This is the error given by trac.cgi:
raise TracError('Unsupported version control system "%s"'
TracError: Unsupported version control system "svn"
This could be because svn-python is not seen in the PYTHONPATH env variable maybe? (I'm stabbing in the dark based on random google searches by the way)
Looks like the installation size will be bumped up a bit :(. Anyway, your install should be fine, but I will need to add the caveat about trac.{,f}cgi permissions. By default Trac will install the files as 775 which will cause suexec (http://guide.apisnetworks.com/index.php/Suexec) to puke.
Status update time: I am still working on rewriting the billing system. The domain tracker which tracks domain name additions/removals now properly handles aliases and name changes. That component of Apis at one time also generated reminder notices for every user regardless of who their registrar is. I will be bringing the service back and this time you can disable notices.
Now that domain changes are much more accurately tracked, it's possible to bring in a password reset utility on Apis' main page. In case you forgot your main account password, then you can have a reset request sent. Alternatively if you know the subscription number on account, then you can reset it on the spot. I will work that feature in after the billing system is rewritten. Finally because I like statistics, the average domain expiration date is February 13th, 2008 and +- 1 standard deviation is August 15th 2004/August 27th 2011. The longest registration is until February 13th, 2017.
Billing system has been rewritten at this point. New credit card processor isn't integrated into the system yet, but internally payments should be much better tracked with much less user intervention.
Next step is the sub-user dashboard and vacation messages.
Any idea when individual users can log into esprit to do stuff like create a vacation responder? The hotel I work at really needs that again.
OK, here is the vacation responder recipe for maildrop:
# Capture the aliased address or the virtual address
/^(?:X-Original-To|Delivered-To): (.+)/
TOADDR=$MATCH1
if (!/^X-Spam-Flag: YES/ && /^(?:To|Cc):.*${TOADDR}/) # Make sure we're not BCC'd
{
cc "| mailbot -A 'From: $TOADDR' -t $HOME/.vacation.msg -d .vacation.db /usr/sbin/sendmail -t -i -f ''"
}
This won't make it into esprit until sometime this weekend, but if you want to setup a vacation message for anyone going on vacation today then here is your answer.
Credit card processor should be integrated by Friday. Waiting on hearing back from Card Services International (http://www.cardserviceinternational.com/) about the application put in last Friday. I also worked out a deal with them such that instead of picking up a referral bonus for referring you to them, they will waive the $250 setup costs. Apis receives $0 for the referral, but this is a sweet value-added services that can be provided to you guys.
Fixed costs are:
$10 customer service fee
$25 gateway fee
$5.95 AMEX fee (optional)
Variable transaction fees:
Visa/MC/Discover: $0.25 + 2.39% per transaction
AMEX: $0.25 + 3.5% per transaction
AVS inquiry (address verification): $0.05 per inquiry
Chargeback: $35 per chargeback
You would be tied to a six month contract, but this is an excellent opportunity for you to handle credit cards directly and if your customers hate PayPal (hi guys! :)), then this opens up a great alternative. Recurring billing is free.
ZeeBoi
04-04-2007, 11:29 AM
Good news. Should make the accounting dept. here happy.
Hot damn, 12 days. I am slow at rolling out new features :o. After handling this thread (http://forums.apisnetworks.com/showthread.php?t=254), I decided it may be a good idea to make cronjobs a bit easier and give those on the Minimalist package access to daily cronjobs. If you want to run a cronjob every minute, hour, week, day of the week, or portion thereof, you will still need to use the Cronjob Manager. If you are content with running a cronjob once a day then just drop the script in /etc/cron.daily/ and the script will execute with the user id on the script.
This setup is extremely helpful if you want to run AWStats or Webalizer every day, but lack the tact to setup a cronjob or the account privileges to setup normal cronjobs. If you would like to run Webalizer every night, then create a file in /etc/cron.daily/ with the following:
#! /bin/bash
# update access statistics for the web site
if [ -s /var/log/httpd/access_log ] ; then
/usr/bin/webalizer
fi
exit 0
Change the file permissions to 755 and the end-of-line marker from \r\n (Windows) to \n (Unix). You should be able to do this in the control panel by clicking on the icon to the left of the file name to bring up its attributes. After making those changes the script should run once a night between the window of 3 - 5 AM EDT.
Second update: the credit card processor. For now credit cards will only be supported for existing customers wishing to renew a canceled subscription. This will give me some time to think of anti-fraud measures, because at $35 a chargeback fraud is something to avoid. I will roll out the updated subscription renewal page tomorrow and I need some volunteers to offer their patience with the new system. Recurring billing is handled off-site and fully automated. I had to make some changes to CSI's recurring billing API to fit it into Apis' billing system, but hopefully everything will be seamless (which is why I need those lucky few volunteers ;)). If you are ecstatic about switching from PayPal to a credit card, then drop me a PM and I will get everything setup for the new billing notices starting tomorrow.
Credit card portion of the billing system is finally up. I'll write the actual batch transaction processor tomorrow, but that's a quick 30 - 45 minute task to do.
Domain reminder system is back up and working. The system checks for upcoming domain expirations and sends notices to customers at the 90, 60, 30, 15, and 1 day intervals if you haven't renewed the domain. I know at this point you're asking yourself "back up"? There once was a reminder system? That's right, a long time ago Apis used to have an automated domain expiration system setup to remind customers of upcoming expirations. Unfortunately, like many of the early projects, it just didn't scale well. After landing on the whois blacklist before even making it 2% through the list of domains to check you can infer that it may have been a little inefficient. I finished adding the garnishments at this time and if your domain falls into the 90, 60, 30, 15, or 1 day interval of expiration, then enjoy the free reminder notice ;).
The first credit card batch went through earlier tonight and it looks like those that opted to renew under a credit card should be set until the next recurring date... which is available in the control panel. Your transactions should appear in the control panel immediately, unlike PayPal which will have a 3 - 5 day delay due to batch updates.
If you have a few referrals under your name and would like to switch to a credit card, then let me know in about a week's time. I would like to work referral credits into the credit card system next since you can set arbitrary transaction amounts without the expressed consent of the card holder. Setting a discounted rate for the next transaction is a breeze if you have partial referral credit.
My game plan for tomorrow is to resume work on the control panel, squash some more bugs (http://apnscp.com/bugtracker/), add vacation message support, and bring Majordomo + Majorcool back. Remember if you spot a bug in the control panel the tracker (http://apnscp.com/bugtracker) is the best place to report it.
MarmaladeMan
04-19-2007, 10:23 AM
Thanks for the updates Matt. Question: is PHP5 the service that is temporarily unavailable? I'm assuming so since my PHP4 pages work fine.
Service Temporarily Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
Thanks for the updates Matt. Question: is PHP5 the service that is
temporarily unavailable? I'm assuming so since my PHP4 pages work fine.
Do me a favor and file a ticket in the control panel in the future if something critical like the PHP5 server becomes unavailable. Posting on the forums will result in a much slower resolution.
Vacation auto-responders and file manager for sub-users will be rolling in tonight's esprit update at 3 AM EDT.
MarmaladeMan
04-19-2007, 11:05 PM
Do me a favor and file a ticket in the control panel in the future if something critical like the PHP5 server becomes unavailable. Posting on the forums will result in a much slower resolution.
Will do. :)
The Trac abnormalities in FastCGI mode are linked back to glibc 2.4. glibc 2.5 from RHEL5/CentOS5 is running on the development server and Trac works like a charm there. Also worth noting is that Ensim's bandwidth monitoring module runs correctly on glibc 2.5 whereas it segfaults on 2.4. Assmule will be the first server to run glibc 2.5 starting later on this evening at approximately 6 PM. The upgrade should go through without a hitch, but I also want to plan the upgrade around a time where if there *is* a problem, then it will be visible by at least one individual.
glibc 2.5 should go in without any noticeable side-effects, but just in case I would like to plan it around a time when the server is doing work, others are using it, and it is not a M-F business day. The absolute worst thing that could ever happen would be for a server to become inoperable between 8 AM - 10 PM EDT M - F. Again, I didn't say that to make you panic, but rather to let you know that this is a big upgrade, it went through flawlessly on the development server (near replica of the production servers), and no problems should crop up.
Assmule is the smallest server out of the fleet. Any negative impact will be easily controllable. If all goes well, then the remaining five servers will have glibc 2.5 rolled out next weekend.
There's one hypothesis down the drain: the same socket timeout issue occurs with glibc 2.5. On the other hand I can reuse Ensim's bandwidth tracking module for Apache until I write a replacement. It segfaults with a floating point exception against glibc 2.4 (go Ensim!) I can defer writing a replacement until a later date.
I will return to the Trac issue after finishing the Majordomo rewrite, which is coming along quite nicely. I will skip on Majorcool integration for now, but there will be a frontend configuration editor that uses the same configuration engine as the one-click framework (finally a use for reuse). Once everything is brought back up to pace (automated backups, backup facility, one-clicks, the rest of esprit), I will bring in GNU Mailman (http://www.gnu.org/software/mailman/) support. Mailman appears to have wider penetration in the market and I feel the vast majority of users will prefer the web-based preference management if they haven't already run into it (http://mail.python.org/mailman/listinfo/mailman-users).
Finally, I still haven't had any individuals come forward to try out referral credits on the credit card system. In order to move forward with the system, I will give the first individual who is (a) paying monthly, (b) has opted to pay via the new credit card processor, and (c) sends me a private message a $100 referral credit towards his account. A $100 credit bumps you up to the silver level ("http://guide.apisnetworks.com/index.php/Referral_Tree#Referral_Bonus_Gradient). Each referral is calculated at 15% at the silver level. Think of this as a $1.25 discount every month ;).
E-mail should be pulled down off the server by your BlackBerry's broken e-mail client if you use IMAP. Admittedly there was more coercion than I'd like to introduce into the system, but rejoice because now you can fetch mail off the server through either your BlackBerry or desktop PC. Mail folders had to be restructured, but I added a hidden namespace to the IMAP server (Dovecot), so there should be minimal impact. SquirrelMail was upgraded to 1.5.1 due to a bug with mailbox separators in the new IMAP layout.
Majordomo is being worked on and hopefully I will have it released upstream to the servers by Sunday at the latest.
ZeeBoi
05-07-2007, 10:21 AM
E-mail should be pulled down off the server by your BlackBerry's broken e-mail client if you use IMAP. Admittedly there was more coercion than I'd like to introduce into the system, but rejoice because now you can fetch mail off the server through either your BlackBerry or desktop PC. Mail folders had to be restructured, but I added a hidden namespace to the IMAP server (Dovecot), so there should be minimal impact. SquirrelMail was upgraded to 1.5.1 due to a bug with mailbox separators in the new IMAP layout.I guess this is why all my custom installations of Squirrelmail say
ERROR: Could not complete request.
Query: CREATE "Sent"
Reason Given: Unknown namespace.
In the left frame? Sigh... Now I have to reinstall/reconfigure it for a number of domains. :(
(All 1.4.9a)
dkozinn
05-07-2007, 12:48 PM
For what it's worth, on my "out of the box" squirrelmail (mail.kozinn.com), in the left frame, I see:
ERROR: ERROR: Could not complete request.
Query: CREATE "INBOX.Sent"
Reason Given: Mailbox exists.
I guess this is why all my custom installations of Squirrelmail say
In the left frame? Sigh... Now I have to reinstall/reconfigure it for a number of domains. :(
(All 1.4.9a)
Upgrade to 1.5.1; 1.4.9a doesn't work correctly.
For what it's worth, on my "out of the box" squirrelmail (mail.kozinn.com), in the left frame, I see:
ERROR: ERROR: Could not complete request.
Query: CREATE "INBOX.Sent"
Reason Given: Mailbox exists.
Odd, drop me an IM with the affected login and I'll take a look into it. That shouldn't be.
ZeeBoi
05-07-2007, 01:57 PM
Upgrade to 1.5.1; 1.4.9a doesn't work correctly.I'm weary of using development versions but okay.
I'm weary of using development versions but okay.
Alternatively then you could try to specify the prefix of "INBOX." under "Folder Defaults" -> "Default Folder Prefix". I just went with 1.5.1
ZeeBoi
05-08-2007, 05:53 PM
OK, will do. They should be releasing 1.5.x for real any day now, I hope.
Majordomo is now a part of the fourth generation. The release was delayed well beyond my initial expectations, but after rewriting and hacking it to bits with the new server family you can once again create and configure mailing lists. Majordomo now has a simple built-in configuration editor. You no longer need to edit the mailing list configuration by hand and upload it via your FTP client. Another big feature is the ability to run multiple mailing lists on different domains. Before sending a majordomo request to say majordomo@mysecondarydomain.com would return as majordomo@myprimarydomain.com.
Two more items are on the agenda: one-click facility and automated database backups. Once those are taken care of we should be back up to speed some two months later.
Finally a reminder that your favorite admin (that would be me) will be out of town and consequently out of the office from Thursday to Sunday of next week. I haven't figured out a reliable method to move the office with me, but the other two stand-in techs will be handling everything during that four day window. If you run into any problems, then be sure to file a ticket in the control panel. I should be sticking my head in either at night or during the morning to check up on things.
Here's the public uptime report (http://www.hyperspin.com/publicreport/73740/19403) for the hosting servers. While most hosts emphasize at least three 9s, I think we should work on two 0s :). The only hiccup thus far has been a non-reproducible kernel panic on Augend. Anyway just thought you guys may find it relevant next time your pal brags about his 99.9% uptime. Likewise I am taking bets on which server falls from grace first and drops down to 99.NN% uptime. Augend seems to be the likely candidate given its prior record.
I like how my statements always come around to nip me in the rear every so often ;). Image wins the contest with a 5 minute outage last night and I will be back in Atlanta on Sunday night. The Web server on Image ran into what appears to have been a pointer deallocation error (free() function) in glibc. I've dropped the shm cache in eAccelerator in favor of a disk-only cache. While pulling cached PHP scripts from the disk is significantly slower than from shared memory it did resolve the stability issues with Apache on Echelon. Web server monitoring intervals on the server have decreased from 5 minutes to 3 minutes, since it doesn't take very long to restart.
ZeeBoi
05-23-2007, 12:21 AM
Here's the public uptime report (http://www.hyperspin.com/publicreport/73740/19403) for the hosting servers. While most hosts emphasize at least three 9s, I think we should work on two 0s :). The only hiccup thus far has been a non-reproducible kernel panic on Augend. Anyway just thought you guys may find it relevant next time your pal brags about his 99.9% uptime. Likewise I am taking bets on which server falls from grace first and drops down to 99.NN% uptime. Augend seems to be the likely candidate given its prior record.I focus on the 1s. i.e. the number 1 support aka Matt. ;)
Thanks for all the hard work and the personal touch to your support. Appreciated muchly!
I focus on the 1s. i.e. the number 1 support aka Matt. ;)
Thanks for all the hard work and the personal touch to your support. Appreciated muchly!
Someone has to be the caboose :).
One-click facility should be making its return tomorrow if all goes according to plan. I still need to fix a few more bugs in the upgrade process. WordPress will be upgraded to 2.2.0 and SpamKarma to 2.3 RC1. Past there, the applications will be worked in random order unless you have a preference to see one over the other. Other applications include:
CMS Made Simple
Coppermine Photo Gallery
Drupal
Gallery
Joomla
MediaWiki
phpBB
punBB
SugarCRM
Typo
Vanilla
Zen Cart
Again I have no specific order in which they will be updated/added, but if you would like to see application x appear sooner than the others then let me know. The workload will be split along several other tasks, so don't expect them to be updated overnight.
ZeeBoi
06-01-2007, 01:23 AM
Did you turn off SpamAssassin on echelon or something?
Hrm, no, but I need to add SpamAssassin to the service monitor checks. Once in a blue moon it will take a dive and crash, but the behavior is so unexpected it generally goes unreported for a while until the inevitable "did something happen to SpamAssassin?" comes in. I'll add it to the to-do list once I finish fixing up the bugs in the one-click system.
ZeeBoi
06-01-2007, 01:44 AM
You might wanna upgrade it to 3.2.0 too. :)
Touche. I'll take a look at that tomorrow as I would need to apply the custom getpwnam() jail patch to 3.2.0. PHP 5.2.3 was released yesterday too. It looks like there will be another batch upgrade over the weekend. I am waiting on whether there will be a corresponding PHP 4 update as well since the bugs (exploits) don't fall far from the tree.
PHP 5.2.3 and SpamAssassin 3.2.0 are now live on the servers.
ZeeBoi
06-10-2007, 05:22 PM
PHP 5.2.3 and SpamAssassin 3.2.0 are now live on the servers.Rock. Thanks, buddy.
Urchin profiles may now be setup from within the control panel. They are based upon the log profiles set up under Granular Logging. Automated MySQL/PostgreSQL backups are next on the list and perhaps an updated driver for the MediaWiki and phpBB one-clicks.
SpamAssassin should now be checked by the service integrity monitor. Hopefully that'll put an end to the rare yet bothersome "SpamAssassin isn't parsing e-mails" tickets. I believe I've seen about 6 or so between the servers since February. I expect to see 0 from here on out.
I am working on credit card billing information in the control panel and that'll be slipped upstream as soon as I finish it.
Edit: Oh and one final note about Trac. Assmule is going down for a reboot Saturday night at 2 AM EDT to bring up the new kernel and new microcode which requires a minimum kernel version of 2.6.20. There was a microcode update in April to address several bugs in the Core 2 Duo processors that I suspect may have something to do with the mutex timeouts. The identical Trac FastCGI handler works flawlessly on an Opteron and Pentium D. The Pentium D, despite being dual core, wasn't included in the microcode update from April. Fingers crossed and hopefully that's the cause :).
Ding ding ding. The new microcode update fixed the mutex timeouts I've been seeing with the Trac FastCGI implementation. I'll schedule a kernel upgrade for the other servers next weekend.
Kernel upgrade and microcode updates have been completed on all of the servers. I also made a few changes to the uplink port on the switch, so hopefully that'll fix the randomly high pings that you may have encountered during a stream of commands like with the FTP server. Failing that the next step is to replace the switch with a spare. I haven't seen a CRC error logged in the past 30 minutes though. I believe that fixed it. :)
ZeeBoi
07-24-2007, 05:38 PM
Happy 5th, Matt!
Stealth edit there I see :). The direct credit card option has been available for renewals since last month. I'm not sure when I'll work it into the sign-up process, because you are dealing with a higher incidence of fraud. I don't mind setting up a passthru for new users looking to utilize their credit cards instead of PayPal, but that requires a bit of personal communication you don't normally see with fraudulent transactions.
New esprit update tonight. MediaWiki upgrade to 1.10.1 along with captchas and some bug fixes. That's all for today. I'm thinking about adding start-up script support for everyone's accounts in the rare event there is a server reboot. After bringing all of the services up the server will go through say /etc/rc.d/rc.local and run the script as the main user. Yea or nay and I should get to work on database backups? :)
ZeeBoi
07-26-2007, 10:46 AM
I kinda remembered that you posted about the credit card stuff already so my question seemed redundant. ;)
I'll do the credit card thing when my renewal comes up next year. By then all should be smoothened out, rrrright? ;)
Technically things have been smooth from the start ;). The easiest way to transition over to credit card is to cancel your subscription in PayPal. Go to History -> Advanced Search and plug in the e-mail address paypal@apisnetworks.com to find the active subscription. Cancel it and you'll get a billing notice 30 days before the next expected billing date.
ZeeBoi
07-27-2007, 04:18 PM
OK just did this.
Per-user jail support to vsftpd has been added. Read all about it in the Wiki (http://guide.apisnetworks.com/index.php/FTP#Jailing_Users). PHP5 roadmap will be formally announced once I get the next esprit release out the door. At this time I am leaning towards swapping the PHP4/5 servers on November 1st with a total phase out of PHP4 on January 1. Thanks to a helpful suggestion over IRC I will be switching out Prototype and script.aculo.us with jQuery (http://jquery.com/). It won't make the next esprit release due out either tomorrow or Saturday, but it'll be in the subsequent release. I am still working on the edit-in-place feature of MySQL Backups and Mailbox Routes.
MarmaladeMan
08-03-2007, 01:10 AM
That's very awesome. Thanks Matt.
MarmaladeMan
08-03-2007, 12:15 PM
Question: for per-user chroot's, is it necessary to have both the user listed in vsftpd.chroot_list and the user@domain file in /etc/vsftpd/? Or can I get by with just the user@domain file?
-edit-
Nevermind, answered the question myself. The file does just fine.
Users named in vsftpd.chroot_list are jailed to their home directories defined in /etc/passwd. Typically this is /home/user/. You may override default configuration values via the per-user configuration in /etc/vsftpd/. This is designed for finer control over particular users, such as disabling write access or forcing a uid change on upload. Reassigning the jailed root is the most common reason behind a per-user configuration in /etc/vsftpd/.
Having said that, you could create a configuration file in /etc/vsftpd/ with local_root=/tmp/ and omit adding the user to /etc/vsftpd.chroot_list. By doing so, the user would be taken to /tmp/ upon login.
MarmaladeMan
08-03-2007, 12:31 PM
Ahh yes I'm seeing that now. Okay, thanks for the info.
Automated database backups have been rewritten and are once again available in the control panel. Backups occur nightly at 3 AM and unlike the first version, this will automatically prune N entries for you. I'm beat. I'll see you guys Monday. Same time, same place, and a little less workload :cool:. Joomla and Zen Cart are next with shared domain support in the one-click facility. Do I hear any special requests of what to work on next in esprit?
I may stop in tomorrow to work on padding out the Wiki (http://guide.apisnetworks.com/). Specifically, the new resource center section needs some content, but I will wait and see what happens tomorrow.
Today's esprit update contains several changes to JavaScript. Everything has been removed in favor of a simpler jQuery (http://www.jquery.com) approach. I haven't removed all of the sajax components yet from sub-pages, but the dashboard has been rewritten to take advantage of the new JS helper libraries. Total HTML on the dash shrunk by 40 KB, but JavaScript inched up 8 KB. esprit lost even more weight on the login screen, down from 86 KB to 37 KB. After you access the JavaScript the first go around though it'll be cached in the browser. This should help save on bandwidth for users behind slower connections.
The quick menu, login screen options pane, tooltip interface, calendar section, and mouseovers on the links at the bottom of the dashboard have been all rewritten. I have checked over the changes with Opera 9, Firefox 2, and IE7 and all appear to be working correctly.
It's live on the servers now, so give it a try.
Edit: argh, rendering errors on IE6 :mad: Looks like I won't be getting off early tonight.
Edit #2: Ok, now we're in good shape for the IE6 users :D
Status update time
MySQL's open file limit has been bumped up again from 10,240 files to 20,480. Augend hit the ceiling a few minutes ago.
There is an off-by-one error in Frontpage Server Extensions with installs outside /var/www/html/. I am working through the mod_frontpage Apache module to find the root cause.
Following that, the next esprit update will include symlink creation support and a few file manager bug fixes.
Finally, there has been an issue with the ATDN network (http://www.atdn.net/) that is peered with Saavis. ATDN has taken administrative action into their own hands by null-routing all traffic to 64.22.68.8. A site on .8 (assmule) has engaged in some unscrupulous XSS attacks on high profile sites, one of which resides on AOL's network. No abuse report was sent to either the abuse contact for Apis Networks or to the data center, Gnax. Instead, users accessing any Web site on 64.22.68.8 that passes through ATDN is presented with blocked.png (http://apisnetworks.com/~msaladna/blocked.png).
I have been on the phone with ATDN since this morning in hopes of getting it resolved. Unfortunately, the engineer responsible for the block and information disclosure has been unavailable today. I received the lovely cookie-cutter response that indeed a site on the server had been used to facilitate a XSS against one of their sites. As a result of the high-profile exposure, the IP address of the site facilitating the attack on Assmule was blocked. That was all of the information that I was given. :rolleyes:. I have my suspicions of which account is responsible at this time after plowing through all accounts on the server, but I am waiting for an affirmative response.
Having said that, there is no ETA. I would like to see this issue resolved today and due diligence exercised by AOL, but they don't the best track record. Null-routing all traffic without any formal notification either to us or the ARIN contact for 64.22.68.8/24 (Gnax) is a very disreputable practice.
We are back in business for anyone going over AOL's backbone (ATDN (http://www.atdn.net/)). The engineer responsible for the block never returned the call yesterday, so I gave them one more call last night around midnight before clocking out to get closure on the issue. I spoke with a rep at the NOC and after about 10 minutes she agreed to page around the facility to find an engineer that would be able to assist. There was light at the end of the tunnel... right?
Not exactly. AOL outsources its NOC security to a gaggle of halfwits that work only during the day. Thankfully I was able to have a ticket opened on the issue -- which should have been done when I first called in during the day -- and after a trace this morning I can confirm that they have removed the block. My ticket never received any updates elucidating on the specifics of the block, but after scouring each site's traffic logs yesterday I am fairly confident on which site prompted it.
I confirmed with Gnax too that AOL never sent a formal abuse sighting before or after applying the disruptive block. This is a thumbs up to ATDN for breaking basic protocol with network traffic and leveraging their status as a backbone to bully clients.
Due to popular demand local subdomain support has been added to the Web server. Check out the Wiki article (http://guide.apisnetworks.com/index.php/Apache#Creating_Local_Subdomains) for more information on how those work. Subdomains created from within the control panel are still global subdomains at this time, but if you need a bit of flexibility and aren't afraid to login to the shell, then have fun.
MarmaladeMan
08-19-2007, 11:54 PM
For about 5 minutes today, subdomain routing was all wonky, and none of my subdomains worked (they all forwarded to my main page at hiprmod.net). It's not a problem at all, as I guess you resolved it pretty quickly, but I was curious what caused it.
I wanted to share one match from a condition against two rules, i.e.
RewriteCond ${lowercase:%{HTTP_HOST}} ^(?:www\.)?([^\.]+([^:]+)), but the first rule clears the pattern matched from a condition... at least from my experimentation. That slipped temporarily on the servers, because the forums and wiki had a static rewrite rule in a separate file. Neither guide or forums.apisnetworks.com relied on /var/subdomain/subdomain/ metadata, so the problem didn't manifest itself until I did tinkering on another domain.
I'm still working on perfecting the official least used, most worthless feature: FrontPage Server Extensions. I have made some changes and now it supports shared domains, but sub-user support is next on the to-do list. Requests are still coming in as the main uid/gid, which is causing FrontPage's CGI interface to panic and die.
On a brighter note, mucking around with mod_frontpage is giving me the opportunity to learn Apache's API in anticipation of the big day when I start writing the new bandwidth monitoring module. I guess this is a brighter note for me, but a disparaging event for everyone else. Sorry ;).
I should add two separate threads for server changes and control panel changes as a daily log with a digest of notable changes at the top. What do you guys think? Easier to follow along?
ZeeBoi
08-21-2007, 12:41 PM
Yeah, I think this thread has run its course and you should start new ones. This is quite the addendum. ;)
MarmaladeMan
08-21-2007, 08:06 PM
I'm somewhat fond of the megathread, but I'll read it however you end up posting it.
dkozinn
08-22-2007, 11:15 PM
As long as the info is available somewhere, it's fine with me. Right now, I normally just read here via RSS, so any changes get picked up and fed to me; whether the changes go in a single thread or multiple threads won't matter to me.
It'll still be accessible through RSS. There is a definite need to provide information in a more digestible medium. Most of the material wedged in the middle of this thread is often overlooked and there have been some interesting changes (revival of the Wiki, vsftpd changes, database backups).
Updates as they come in are generally low-content notifications, which personally I don't think warrant a blog. "Hey guys, good news I totally remembered that I munged some characters here and there and fixed a typographical error in the File Manager!" But then again I see a blog, in the context of business, as a highly effective marketing tool. Server changes and control panel enhancements aren't meant to be marketing ploys, but rather important changes pertinent to existing customers.
If someone from the outside stops on by and stumbles across the update, then good for them. My first concern is to get notices out as quickly and easily as I can with a quick summary for customers that cannot stop by every day to see what's cooking.
An alternative would be to move updates to the wiki, but for anyone who has clicked on the "Wiki" tab in the control panel dashboard, you know presentation isn't exactly its strong point. I could set a cutoff point of 15 or so notes (or x characters) and archive prior events to a page in the wiki. We would be able to keep a short summary available in the first post for customers skimming over the forum (I know everyone reads it. Just the majority are unregistered, right guys? :(). Older items would be referenced through a link to the wiki annnnnnd I think it's best to separate server changes and control panel updates into two separate threads. Some of us track the Changelog in esprit, but some don't. Some really just don't care about me fixing a typographical error here and there. If you're like me, then server changes arouse your interest, but that's likely just me.
I'm open to format ideas. These are my opinions and of course disagreement is always healthy. Someone play the devil's advocate and give me a compelling reason for another option. If there's no dissenting opinion, then that will be the format once I've finished rewriting the directory handling in esprit (pesky /'s).
If you guys have no further suggestions on data layout, then I think it's time to let this thread die. Control panel updates will be posted in this thread (http://forums.apisnetworks.com/showthread.php?t=291) and server changes in the other (http://forums.apisnetworks.com/showthread.php?t=290). Both are conveniently stickied at the top of the Announcements forum.
dkozinn
08-23-2007, 09:30 PM
I was gonna "vote" for a blog (which is easily searchable and can be set to archive off after every "x" posts or "y" days/months), and, as you said, is an interesting marketing facility, but from my perspective as an existing customer, as long as there's some reasonably easy way for me to get the info it's fine with me. The two new topics here work for me.
Well, let's see if folks like the idea of a blog. My only problem with a blog would be immediate visibility of older items. After say 5 posts or so everything else is shuffled off to the archives. It would be easier to attach comments to specific updates instead of creating a massive megathread like this one, which would make things less cluttered.
If you guys prefer the blog route, then I can do it, but expect sparse posts with just enough information to clue you in on what changes have occurred.
dkozinn
08-24-2007, 03:24 PM
On my ham radio blog (k2dbk.blogspot.com (http://k2dbk.blogspot.com)) which as you can tell is hosted at blogger.com, I can control how many posts are on the front page both in terms of the actual number and in terms of age (I think). That takes care of having a zillion things on the main page, and I think of comments as "branches" off the actual postings, as you said, which further keeps down the "chatter". (If someone doesn't care about the latest update to the widget feature, they don't have to read through all the comments to see the next feature in line.)
Of course, I think that I'm the only one who has actually asked for the blog ...
Nodding in agreement with dkozinn. Vote blog.
ZeeBoi
08-24-2007, 04:08 PM
Yes, a blog would be really nice. I'm sure you could set up wordpress to display 10+ entries at once. Plus, categorizing entries would make it easier to check back on the archives.
Voting blog!
Everyone needs to stop conspiring with David ;). Blog it is. I'll get that setup over the weekend.
dkozinn
08-24-2007, 11:21 PM
Wow, and I thought it was just me who thought the blog was a good idea.
I need to be careful what I ask for. Last time I made a suggestion, we wound up with a server named assmule.:rolleyes:
Sadly multiple sysadmins that I've spoken with love the name assmule, so you have one thing going for you David ;).
The blog (http://blog.apisnetworks.com/) has been setup and it has an update. I'll work on making it pretty over the week. Here is the RSS link (http://blog.apisnetworks.com/feed/) for the terminally lazy.
vBulletin® v3.7.2, Copyright ©2000-2009, Jelsoft Enterprises Ltd.