================================================ Installing GroupServer on an Amazon EC2 Instance ================================================ To install GroupServer on an ec2 instance carry out the following tasks. 1. Set up an ec2 Ubuntu instance AMI:: ebs/ubuntu-images/ubuntu-natty-11.04-i386-server-20110426 (ami-06ad526f) 2. Give it an Elastic IP address. 3. Set the security to allow * HTTP on port 80 and 8080 * SMTP on port 25 * SSH on port 22 4. Set up the users, secure the machine, etc. 5. Assume the URL you want do use GroupServer with is ``http://groups.mydomain.com``. 6. Set the hostname:: $ sudo /bin/hostname groups.mydomain.com * Edit ``/etc/hosts``. * Add an entry for the ec2 private IP address and ``groups.geanarts.com``. * 10.200.250.51 groups.mydomain.com 7. Follow `the GroupServer Installation Instructions `_ up to the Zope install: * Install required packages, * Install ``make`` as well (it's not on the list), and * Configure PostgreSQL. 8. Check that the mailname is set to ``groups.mydomain.com`` in ``/etc/mailname`` 9. Configure and test Postfix * Edit ``/etc/postfix/main.cf``: * Add ``myhostname = groups.mydomain.com`` (May already be done if you have set the ``hostname`` before installing Postfix). * Add ``groups.mydomain.com`` to ``mydestination`` (May already be done if you have set the ``hostname`` before installing Postfix). * Add ``smtpd_authorized_verp_clients = 127.0.0.1`` (See `this topic on GroupServer.Org `_.) 10. Follow the instructions to install Zope * In the configuration step, set ``timezone = America/New_York``. 11. Follow the instructions to set up the email server * When you copy the Postfix files to ``/etc/postfix``, edit the ``groupserver.aliases`` so that the ``http`` URLs in the file use port 8080. For example:: verify-address: "|/home/username/groupserver-11.05/utils/smtp2zope-nonautomatic.py http://groups.mydomain.com:8080/acl_users/verify_address" group-automagic: "|/home/username/groupserver-11.05/utils/smtp2zope.py http://groups.mydomain.com:8080/ListManager" * Also remove the line groups.mydomain.com virtual from the file ``groupserver.virtual``. Postfix does not like it in both ``mydestinations`` (in ``main.cf``) and the ``virtual.alias`` file. 12. Set up a ``cron`` job to send out new messages. The following will run the GroupServer outgoing mail spooler every minute:: * * * * * curl -s http://groups.mydomain.com:8080/example/ListManager/processSpool Fixing Bugs =========== 1. Fix the MailBoxerTools bug. (See `this post on GroupServer.Org `_ * Copy MailBoxerTools.py from ``${BUILDOUT}/eggs/Products.XWFMailingListManager-1.0_*/Products/XWFMailingListManager/`` to your ``/var/gs/utils`` directory in which you have located smtp2zope. * However, ``/var/gs/utils`` may be ``./utils`` in the installation directory. You need to look in the installation directory for where smtp2zope is. 2. You may want to add a root or personal address to ``groupserver.virtual`` so that you can test ``sendmail``. For instance: ``username@mydomain.com`` *or* ``username username@mydomain.com``, 3. Fix a problem with bounce messages that contain the Zope administrator login and password: * Edit the smtp2zope.py, and specify the authentication username and password in the ``AUTHORIZATION`` variable. `See this topic on GroupServer.Org `_ * However, this did not seem to work. The following seemed to work for me: + Go into the ZMI and change the password there + Remove the login password from ``AUTHORIZATION`` in ``utils/smtp2zope.py``. The line should look like:: AUTHORIZATION=' ' + Restart Zope. If the password is not in ``AUTHORIZATION`` in ``utils/smtp2zope.py`` it does not seem to show up in bounce emails. 4. Announcement emails to administrator about new members contains links with an extra "http://": * Go into the Zope console and edit the template ``/example/Templates/email/notifications/join_group_admin/default`` * Remove any ``html://`` in front of any ```` (since ```` already contains ``html://``). 5. Check the log files. I have found files missing that need to be copied from one place to another. Other Configuration =================== Change the favicon ------------------ 1. Replace ``/eggs/Products.GSContent-xxxx.egg/Products/GSContent/browser/images/favicon/gs-favicon-all-sizes.ico`` with your favicon. (xxxx is a long string of digits and chars.) 2. Restart Zope Configure Apache as a proxy on port 80 -------------------------------------- 1. Add the following to the top of ``/etc/apache2/sites-available/default``:: ServerName groups.mydomain.com RewriteEngine on RewriteRule ^(.*) http://groups.mydomain.com:8080/VirtualHostBase/http/groups.mydomain.com:80/example/Content/example_site/VirtualHostRoot/$1 [L,P] ErrorLog /var/log/apache2/groups.mydomain.com-error_log TransferLog /var/log/apache2/groups.mydomain.com-access_log ProxyVia on 2. Restart Apache:: $ sudo /etc/init.d/apache2 restart