ฐานความรู้

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา

Apache2 on Ubuntu

Enabling User Directory

This is how to set up Apache2 on Ubuntu so that, when hxxp://server/~username is accessed, the browser returns the content in /home/username/public_html.

First, user directory is now a mod in Ubuntu's apache2. If you have not installed the mod, then execute the following command:

sudo a2enmod userdir

Second, edit /etc/apache2/apache2.conf and add the following lines:

<IfModule mod_userdir.c>
    UserDir public_html
</IfModule>

<Directory /home/*/public_html>
    AllowOverride FileInfo AuthConfig Limit
    Options Indexes SymLinksIfOwnerMatch IncludesNoExec
</Directory>

Third, execute the following command:

cd /etc/apache2/mods-enabled
sudo ln -s /etc/apache2/mods-available/userdir.conf userdir.conf
sudo ln -s /etc/apache2/mods-available/userdir.load userdir.load

Forth, restart your apache2:

sudo /etc/init.d/apache2 restart

Rails Deployment with Mongrel on Ubuntu Guide

This guide plagiarizes Punneng's Rail::Deployment (Ubuntu - Apache - Subversion - Mongrel - Capistrano) article.

This guide assumes that you already have rails installed.

Create a New User

For each one application, you should create a new user for exclusive use by the application. Put the user in the www-data group.

useradd username
usermod -g www-data username

Edit /etc/sudoers and add:

username ALL = (ALL) ALL

Install Mongrel and Mongrel Cluster

sudo gem install daemons mongrel mongrel_cluster

Install Your Rails Application Somewhere

Well, this step is totally up to you.

Design and Specification of the Lower-Level Grading System

See An Online Programming Judge System

Installing Grader Web Interface

See Installing Grader Web Interface

Judge

see main article Installing and configuring Judge

Resetting MySQL Root Password

This HOWTO is copied from here. First, stop your database.

/etc/init.d/mysql stop

Then, start up the database in the background.

/usr/bin/mysqld_safe --skip-grant-tables &

You can now log in to MySQL without a password.

mysql --user=root mysql

And you can set a new password with the following two commands:

mysql> update user set Password=PASSWORD('new-password-here') WHERE User='root';
mysql> flush privileges;

Once you're done with that, leave MySQL, and bring the server back up to the foreground.

fg

Kill the server with Ctrl-C. And restart the server again.

/etc/init.d/mysql start