星期日, 1月 15, 2012

openSUSE 12.1 with Moodle 小記


openSUSE 12.1 with Moodle 小記

前提為 apache 以及mysql 套件已經安裝 (可以透過軟體管理 #yast2 sw_single 安裝)
並且預設已經啟動
可以使用下列指令檢查

現在 Fedora 15 以後, openSUSE 12.1 以後都使用 systemd 來取代 System V
但是原有的 chkconfig 或是 service 指令還是存在

可以先使用 systemctl 列出所有服務狀況
#systemctl --all

可以使用 --type 指定顯示的類型
# systemctl --all --type service

可以使用指令確認 apache and mysql 有沒有在運作

# systemctl status apache2.service
apache2.service - apache
Loaded: loaded (/lib/systemd/system/apache2.service; disabled)
Active: active (running) since Sun, 15 Jan 2012 03:36:40 +0800; 3h 31min ago
Process: 24758 ExecStop=/usr/sbin/httpd2 -D SYSTEMD -k stop (code=exited, status=0/SUCCESS)
Process: 24760 ExecStart=/usr/sbin/start_apache2 -D SYSTEMD -k start (code=exited, status=0/SUCCESS)
Main PID: 24779 (httpd2-prefork)
CGroup: name=systemd:/system/apache2.service
├ 24779 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -k start
├ 24780 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -k start
├ 25736 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -k start
├ 25776 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -k start
├ 25859 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -k start
├ 25901 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -k start
├ 26030 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -k start
├ 26280 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -k start
├ 26656 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -k start
├ 26723 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -k start
└ 26725 /usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -D SYSTEMD -k start

# systemctl status mysql.service
mysql.service - LSB: Start the MySQL database server
Loaded: loaded (/etc/init.d/mysql)
Active: active (running) since Sun, 15 Jan 2012 03:22:06 +0800; 3h 50min ago
Process: 24053 ExecStart=/etc/init.d/mysql start (code=exited, status=0/SUCCESS)
CGroup: name=systemd:/system/mysql.service
├ 24153 /bin/sh /usr/bin/mysqld_safe --mysqld=mysqld --user=mysql --pid-file=/var...
└ 24479 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/us...


確認是否有預設啟動

# systemctl is-enabled apache2.service
disabled

設定預設啟動
# systemctl enable apache2.service
ln -s '/lib/systemd/system/apache2.service' '/etc/systemd/system/multi-user.target.wants/apache2.service'

再次確認
# systemctl is-enabled apache2.service
enabled

以同樣的方式確認 mysql.service

確認 php5-zip 以及 php5-curl 套件是否有安裝

下載 moodle 套件
#wget http://downloads.sourceforge.net/project/moodle/Moodle/stable22/moodle-2.2.1.tgz

解壓縮
# tar zxvf moodle-2.2.1.tgz

將解壓縮的套件移動到 網站的預設根目錄 /srv/www/htdocs
# mv moodle /srv/www/htdocs/

變更目錄的擁有者為 wwwrun
# chown -R wwwrun /srv/www/htdocs/moodle/

建立 moodledata 目錄, 以供日後上傳檔案使用 (以後記得備份)
# mkdir /srv/www/moodledata

修改相關權限(將擁有者變更為wwwrun)
# chown wwwrun /srv/www/moodledata/

變更 mysql root 密碼 ( linux 預設是空白)
# mysqladmin -u root password '自行設定的密碼'

進行 Moodle 安裝
開啟瀏覽器
http://主機IP/moodle/install.php


大量上傳使用者於 Moodle

可以使用 libreoffice 試算表 分別輸入相關資料 (紅色為第1, 之後為使用者資料)
username password firstname lastname email
user1 TestP@ss test pass testpass@example.com

將檔案另存成 CSV 格式, 分隔符號為 逗號, 編碼為UTF-8
Moodle 的網站管理 → 用戶 → 帳戶 → 上傳使用者
將檔案上傳即可

如果上傳還原的課程超過伺服器限制
可以修改 /etc/php5/apache2/php.ini 內的
upload_max_filesize =



enjoy it ~