个人工具

“UbuntuHelp:MoodleZope”的版本间的差异

来自Ubuntu中文

跳转至: 导航, 搜索
(新页面: {{From|https://help.ubuntu.com/community/MoodleZope}} {{Languages|UbuntuHelp:MoodleZope}} == Goal == To run moodle (http://moodle.org/) and zope2.7 (http://www.zope.org/) on port 80 of o...)
 
第2行: 第2行:
 
{{Languages|UbuntuHelp:MoodleZope}}
 
{{Languages|UbuntuHelp:MoodleZope}}
 
== Goal ==
 
== Goal ==
 
 
To run moodle (http://moodle.org/) and zope2.7 (http://www.zope.org/) on port 80 of our school computer science
 
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
 
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
 
moodle.yhspatriot.net to point to a moodle instance.  I found it convenient to have mysql.yhspatriot.net point to
 
mysql-admin as well.
 
mysql-admin as well.
 
 
 
== Setting up the server ==
 
== Setting up the server ==
 
 
0. install ubuntu 5.04 server
 
0. install ubuntu 5.04 server
 
0. edit <code><nowiki>/etc/network/interfaces</nowiki></code> for static ip address by changing the primary interface to:
 
0. edit <code><nowiki>/etc/network/interfaces</nowiki></code> for static ip address by changing the primary interface to:
第20行: 第16行:
 
gateway 158.59.192.1
 
gateway 158.59.192.1
 
</nowiki></pre>
 
</nowiki></pre>
 
 
0. edit <code><nowiki>/etc/apt/sources.list</nowiki></code> removing cdrom source at top and uncommenting universe sources
 
0. edit <code><nowiki>/etc/apt/sources.list</nowiki></code> removing cdrom source at top and uncommenting universe sources
 
0. do the apt-get dance (<code><nowiki>apt-get update</nowiki></code> and <code><nowiki>apt-get upgrade</nowiki></code>)
 
0. do the apt-get dance (<code><nowiki>apt-get update</nowiki></code> and <code><nowiki>apt-get upgrade</nowiki></code>)
 
0. install the following using apt-get:
 
0. install the following using apt-get:
***** ssh
+
* ssh
***** zip and unzip
+
* zip and unzip
***** apache2
+
* apache2
***** mysql-server
+
* mysql-server
***** phpmyadmin
+
* phpmyadmin
 
+
 
+
 
== Configuring mysql ==
 
== Configuring mysql ==
 
 
0. Point a web brower at <code><nowiki>http://158.59.195.113/phpmyadmin/</nowiki></code>
 
0. Point a web brower at <code><nowiki>http://158.59.195.113/phpmyadmin/</nowiki></code>
 
0. By default, username <code><nowiki>root</nowiki></code> with no password is enabled
 
0. By default, username <code><nowiki>root</nowiki></code> with no password is enabled
第39行: 第31行:
 
0. Click "Privileges" then "Add a new User"
 
0. Click "Privileges" then "Add a new User"
 
0. Add user <code><nowiki>moodle</nowiki></code> with all "Data" and "Structure" privileges checked
 
0. Add user <code><nowiki>moodle</nowiki></code> with all "Data" and "Structure" privileges checked
 
 
 
== Configuring Apache Modules ==
 
== Configuring Apache Modules ==
 
 
* As root, run the following:
 
* As root, run the following:
 
<code><nowiki>ln -s /etc/apache2/mods-available/proxy.conf /etc/apache2/mods-enabled/proxy.conf</nowiki></code>
 
<code><nowiki>ln -s /etc/apache2/mods-available/proxy.conf /etc/apache2/mods-enabled/proxy.conf</nowiki></code>
 
* Repeat with <code><nowiki>proxy_connect.load</nowiki></code> and <code><nowiki>proxy.load</nowiki></code>
 
* Repeat with <code><nowiki>proxy_connect.load</nowiki></code> and <code><nowiki>proxy.load</nowiki></code>
 
 
== Configuring virtual hosts ==
 
== Configuring virtual hosts ==
 
 
0. Edit <code><nowiki>/etc/apache2/apache2.conf</nowiki></code>, adding a <code><nowiki>NameVirtualHost</nowiki></code> line, so that the last three lines of the file look like this:  
 
0. Edit <code><nowiki>/etc/apache2/apache2.conf</nowiki></code>, adding a <code><nowiki>NameVirtualHost</nowiki></code> line, so that the last three lines of the file look like this:  
 
<pre><nowiki>
 
<pre><nowiki>
第71行: 第58行:
 
ProxyPassReverse /p_ http://158.59.195.113:8080/p_
 
ProxyPassReverse /p_ http://158.59.195.113:8080/p_
 
</VirtualHost>
 
</VirtualHost>
 
 
 
<VirtualHost 158.59.195.113:80>
 
<VirtualHost 158.59.195.113:80>
 
ServerName mysql.yhspatriot.net
 
ServerName mysql.yhspatriot.net
第81行: 第66行:
 
Allow from all
 
Allow from all
 
</Proxy>
 
</Proxy>
 
 
DocumentRoot /var/www/phpmyadmin/
 
DocumentRoot /var/www/phpmyadmin/
 
 
Options +FollowSymLinks
 
Options +FollowSymLinks
 
 
<IfModule mod_php4.c>
 
<IfModule mod_php4.c>
 
php_flag magic_quotes_gpc On
 
php_flag magic_quotes_gpc On
第93行: 第75行:
 
php_flag session.auto_start Off
 
php_flag session.auto_start Off
 
php_flag session.bug_compat_warn Off
 
php_flag session.bug_compat_warn Off
 
 
php_value upload_max_filesize 2M
 
php_value upload_max_filesize 2M
 
php_value post_max_size 2M
 
php_value post_max_size 2M
 
</IfModule>
 
</IfModule>
 
 
<IfModule mod_dir.c>
 
<IfModule mod_dir.c>
 
DirectoryIndex index.php
 
DirectoryIndex index.php
 
</IfModule>
 
</IfModule>
 
</VirtualHost>
 
</VirtualHost>
 
 
 
<VirtualHost 158.59.195.113:80>
 
<VirtualHost 158.59.195.113:80>
 
ServerName moodle.yhspatriot.net
 
ServerName moodle.yhspatriot.net
第112行: 第90行:
 
Allow from all
 
Allow from all
 
</Proxy>
 
</Proxy>
 
 
DocumentRoot /var/www/moodle/
 
DocumentRoot /var/www/moodle/
 
 
Options +FollowSymLinks
 
Options +FollowSymLinks
 
 
<IfModule mod_php4.c>
 
<IfModule mod_php4.c>
 
php_flag magic_quotes_gpc On
 
php_flag magic_quotes_gpc On
第124行: 第99行:
 
php_flag session.auto_start Off
 
php_flag session.auto_start Off
 
php_flag session.bug_compat_warn Off
 
php_flag session.bug_compat_warn Off
 
 
php_value upload_max_filesize 2M
 
php_value upload_max_filesize 2M
 
php_value post_max_size 2M
 
php_value post_max_size 2M
 
</IfModule>
 
</IfModule>
 
 
<IfModule mod_dir.c>
 
<IfModule mod_dir.c>
 
DirectoryIndex index.php
 
DirectoryIndex index.php
第135行: 第108行:
 
0. create a sym-link in sites-enabled:
 
0. create a sym-link in sites-enabled:
 
<code><nowiki>ln -s /etc/apache2/sites-available/azi.conf /etc/apache2/sites-enabled/azi.conf</nowiki></code>
 
<code><nowiki>ln -s /etc/apache2/sites-available/azi.conf /etc/apache2/sites-enabled/azi.conf</nowiki></code>
 
 
 
 
== Installing moodle ==
 
== Installing moodle ==
 
 
My goal was to use packages from the ubuntu and universe repositories whenever possible, but the after
 
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,
 
several unsuccessful attempts to use the moodle package I found it much easier to install moodle from source,
 
using the following proceedure:
 
using the following proceedure:
 
 
0. Download the latest moodle source
 
0. Download the latest moodle source
 
(<code><nowiki>wget http://download.moodle.org/stable15/moodle-1.5.2.tgz</nowiki></code> worked at the time this
 
(<code><nowiki>wget http://download.moodle.org/stable15/moodle-1.5.2.tgz</nowiki></code> worked at the time this
第150行: 第118行:
 
0. Point a web browser at <code><nowiki>http://158.59.195.113/moodle</nowiki></code>
 
0. Point a web browser at <code><nowiki>http://158.59.195.113/moodle</nowiki></code>
 
0. Run through all the setup pages:
 
0. Run through all the setup pages:
****** use <code><nowiki>/var/moodledata</nowiki></code> for data directory (as root):
+
* use <code><nowiki>/var/moodledata</nowiki></code> for data directory (as root):
 
0. <code><nowiki>mkdir /var/moodledata</nowiki></code>
 
0. <code><nowiki>mkdir /var/moodledata</nowiki></code>
 
0. <code><nowiki>chown www-data.www-data /var/moodledata</nowiki></code>  
 
0. <code><nowiki>chown www-data.www-data /var/moodledata</nowiki></code>  
 
 
 
== Installing zope2.7 ==
 
== Installing zope2.7 ==
 
 
As root:
 
As root:
 
0. <code><nowiki>apt-get install zope2.7</nowiki></code>
 
0. <code><nowiki>apt-get install zope2.7</nowiki></code>
第162行: 第127行:
 
0. <code><nowiki>mkzope2.7instance</nowiki></code>
 
0. <code><nowiki>mkzope2.7instance</nowiki></code>
 
0. edit <code><nowiki>/var/lib/zope2.7/instance/linus/etc/zope.conf</nowiki></code> changing <code><nowiki>http-server</nowiki></code> port to 8080
 
0. edit <code><nowiki>/var/lib/zope2.7/instance/linus/etc/zope.conf</nowiki></code> changing <code><nowiki>http-server</nowiki></code> port to 8080
 
 
Now log into your zope instance and create a <code><nowiki>SiteRoot</nowiki></code>, setting the <code><nowiki>Base</nowiki></code> to <code><nowiki>http://linus.yhspatriot.net</nowiki></code> and the <code><nowiki>Path</nowiki></code> to <code><nowiki>/</nowiki></code>.
 
Now log into your zope instance and create a <code><nowiki>SiteRoot</nowiki></code>, setting the <code><nowiki>Base</nowiki></code> to <code><nowiki>http://linus.yhspatriot.net</nowiki></code> and the <code><nowiki>Path</nowiki></code> to <code><nowiki>/</nowiki></code>.
 
 
----
 
----
 
[[category:CategoryDocumentation]]
 
[[category:CategoryDocumentation]]
  
 
[[category:UbuntuHelp]]
 
[[category:UbuntuHelp]]

2007年11月30日 (五) 20:20的版本

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 /.