个人工具

UbuntuHelp:MoodleZope

来自Ubuntu中文

Wikibot讨论 | 贡献2007年12月6日 (四) 10:43的版本

跳转至: 导航, 搜索

Goal

To run moodle (http://moodle.org/) and zope2.7 (http://www.zope.org/) on port 80 of our school computer science web server (http://linus.yhspatriot.net). We are behind a firewall with only port 80 open, so I needed to setup virtual hosting with apache2 to make this work. I wanted linus.yhspatriot.net to point to a zope2.7 instance, and moodle.yhspatriot.net to point to a moodle instance. I found it convenient to have mysql.yhspatriot.net point to mysql-admin as well.

Setting up the server

0. install ubuntu 5.04 server 0. edit /etc/network/interfaces for static ip address by changing the primary interface to:

    # The primary network interface
    iface eth0 inet static
        address 158.59.195.113
        netmask 255.255.252.0
        gateway 158.59.192.1
    

0. edit /etc/apt/sources.list removing cdrom source at top and uncommenting universe sources 0. do the apt-get dance (apt-get update and apt-get upgrade) 0. install the following using apt-get:

  • ssh
  • zip and unzip
  • apache2
  • mysql-server
  • phpmyadmin

Configuring mysql

0. Point a web brower at http://158.59.195.113/phpmyadmin/ 0. By default, username root with no password is enabled 0. Login, click on "Change password", and change the password 0. Click "Databases", fill-in "Create new database" with moodle and click "Create" 0. Click "Privileges" then "Add a new User" 0. Add user moodle with all "Data" and "Structure" privileges checked

Configuring Apache Modules

  • As root, run the following:

ln -s /etc/apache2/mods-available/proxy.conf /etc/apache2/mods-enabled/proxy.conf

  • Repeat with proxy_connect.load and proxy.load

Configuring virtual hosts

0. Edit /etc/apache2/apache2.conf, adding a NameVirtualHost line, so that the last three lines of the file look like this:
    # Include the virtual host configurations
    NameVirtualHost 158.59.195.113:80
    Include /etc/apache2/sites-enabled/[^.#]* 
0. Create a file named azi.conf in /etc/apache2/sites-available with the following:
    <VirtualHost 158.59.195.113:80>
    ServerName linus.yhspatriot.net
    ServerAdmin [email protected]
    ProxyRequests off
    <Proxy *>
    Order deny,allow
    Allow from all
    </Proxy>
    ProxyPass / http://158.59.195.113:8080/
    ProxyPassReverse / http://158.59.195.113:8080/
    ProxyPass /misc_ http://158.59.195.113:8080/misc_
    ProxyPassReverse /misc_ http://158.59.195.113:8080/misc_
    ProxyPass /p_ http://158.59.195.113:8080/p_
    ProxyPassReverse /p_ http://158.59.195.113:8080/p_
    </VirtualHost>


    <VirtualHost 158.59.195.113:80>
    ServerName mysql.yhspatriot.net
    ServerAdmin [email protected]
    ProxyRequests off
    <Proxy *>
    Order deny,allow
    Allow from all
    </Proxy>

    DocumentRoot /var/www/phpmyadmin/

    Options +FollowSymLinks

    <IfModule mod_php4.c>
            php_flag magic_quotes_gpc On
            php_flag magic_quotes_runtime Off
            php_flag file_uploads On
            php_flag short_open_tag On
            php_flag session.auto_start Off
            php_flag session.bug_compat_warn Off

            php_value upload_max_filesize 2M
            php_value post_max_size 2M
    </IfModule>

    <IfModule mod_dir.c>
            DirectoryIndex index.php
    </IfModule>
    </VirtualHost>


    <VirtualHost 158.59.195.113:80>
    ServerName moodle.yhspatriot.net
    ServerAdmin [email protected]
    ProxyRequests off
    <Proxy *>
    Order deny,allow
    Allow from all
    </Proxy>

    DocumentRoot /var/www/moodle/

    Options +FollowSymLinks

    <IfModule mod_php4.c>
            php_flag magic_quotes_gpc On
            php_flag magic_quotes_runtime Off
            php_flag file_uploads On
            php_flag short_open_tag On
            php_flag session.auto_start Off
            php_flag session.bug_compat_warn Off

            php_value upload_max_filesize 2M
            php_value post_max_size 2M
    </IfModule>

    <IfModule mod_dir.c>
            DirectoryIndex index.php
    </IfModule>
    </VirtualHost>

0. create a sym-link in sites-enabled: ln -s /etc/apache2/sites-available/azi.conf /etc/apache2/sites-enabled/azi.conf

Installing moodle

My goal was to use packages from the ubuntu and universe repositories whenever possible, but the after several unsuccessful attempts to use the moodle package I found it much easier to install moodle from source, using the following proceedure: 0. Download the latest moodle source (wget http://download.moodle.org/stable15/moodle-1.5.2.tgz worked at the time this was written 0. Untar it in /var/www 0. Point a web browser at http://158.59.195.113/moodle 0. Run through all the setup pages:

  • use /var/moodledata for data directory (as root):

0. mkdir /var/moodledata 0. chown www-data.www-data /var/moodledata

Installing zope2.7

As root: 0. apt-get install zope2.7 0. apt-get install zope-zwiki 0. mkzope2.7instance 0. edit /var/lib/zope2.7/instance/linus/etc/zope.conf changing http-server port to 8080 Now log into your zope instance and create a SiteRoot, setting the Base to http://linus.yhspatriot.net and the Path to /.