Posts tagged with: Unix・Linux

CentOS 6.7 に Moodle 3 をインストール

■構築環境

VMware ESXi 5.5
CentOS 6.7
httpd 2.2.15
php 5.4.45
mysql-server 5.5.48(InnoDB,Barracuda)
Moodle 3.0.2

■CentOS 6.7 インストール

minimal desktopを選択

■GUIログイン後

やらなくてもいいけど気になるので、ホームディレクトリ名を日本語から英語へ変更。

$ LANG=C xdg-user-dirs-gtk-update

■epelとremiレポジトリを追加

CentOS6.7標準のリポジトリではPHP 5.3 だが、Moodleの動作要件のPHP5.4をインストールするためリポジトリを追加する。

# rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

■必要パッケージインストール

# yum install httpd httpd-devel mysql mysql-server mysql-devel mod_auth_mysql php-mysql php mbstring php-gd php-xml php-mbstring php-xmlrpc php-soap php-intl php-pear php-devel php-opcache php-pecl-zendopcache perl-Net-SSLeay expect --enablerepo=remi

■ホスト名設定

# vi /etc/hosts
# vi /etc/sysconfig/network
# service network restart

■iptable設定

# vi /etc/sysconfig/iptables
tcp/80 を許可
# service iptables restart

■httpd設定

# vi /etc/httpd/conf/httpd.conf
 Listen 10.100.16.1:80
 ServerName moodle:80
# chkconfig httpd on
# service httpd start

■MySQL設定

# chkconfig mysqld on
# service mysqld start
# /usr/bin/mysql_secure_installation
# mysql -u root -p
 create database moodle;
 create user moodle@localhost identified by 'PASSWORD';
 grant all privileges on moodle.* to moodle@localhost identified by 'PASSWORD' with grant option;
 FLUSH PRIVILEGES;
 exit

■Moodleインストール

# wget https://download.moodle.org/download.php/direct/stable30/moodle-latest-30.tgz
# tar xvzf moodle-latest-30.tgz
# cp -pr moodle/* /var/www/html/
# chown -R root /var/www/html
# chmod -R 0755 /var/www/html
# mkdir /var/www/moodledata
# chmod 0777 /var/www/moodledata
# vi /var/www/moodledata/.htaccessa
 order deny,allow
 deny from all
# chown apache /var/www/html
# cd /var/www/html/admin/cli
# sudo -u apache /usr/bin/php install.php
# chown -R root /var/www/html

DBチューニング

# php admin/cli/mysql_compressed_rows.php -s

これの実行結果を実施

# mysql -u root -p
USE moodle;
SET SESSION sql_mode=STRICT_ALL_TABLES;
SET GLOBAL innodb_file_per_table=1;
SET GLOBAL innodb_file_format=Barracuda;
ALTER TABLE mdl_data ROW_FORMAT=Compressed;
ALTER TABLE mdl_data_fields ROW_FORMAT=Compressed;
ALTER TABLE mdl_enrol_paypal ROW_FORMAT=Compressed;
ALTER TABLE mdl_lti ROW_FORMAT=Compressed;
ALTER TABLE mdl_user ROW_FORMAT=Compressed;
ALTER TABLE mdl_user_info_field ROW_FORMAT=Compressed;

■完了

Webでアクセスして「ダッシュボード」-「サイト管理」-「サーバ」-「動作環境」を確認してみる。

moodle


fb: conflicting fb hw usage nouveaufb vs simple – removing generic driver

fb: conflicting fb hw usage nouveaufb vs simple - removing generic driver

みたいなエラーが出てOS起動できない時の対処方法

競合ドライバを読み込まないようにする
シングルユーザモードでも起動できない時もあるので、DVD起動するとかして、

vi /etc/modprobe.d/blacklist.conf

で、これを追加。

blacklist nouveau

psコマンドでのユーザー定義フォーマット指定

psコマンドでよく使うのはこんな感じ。
$ ps -ef | grep squid
root 5585 1 0 01:00 ? 00:00:00 /usr/sbin/squid3 -YC -f /etc/squid3/squid.conf
proxy 5589 5585 0 01:00 ? 00:00:00 (squid) -YC -f /etc/squid3/squid.conf
vyatta 5860 5296 0 01:02 pts/1 00:00:00 grep squid
が、もっとうまいこと表示させたいときは、
psコマンドの、”o”オプションでユーザー定義フォーマットを指定して
出力させるとよい。
$ ps -eo user,pid,ppid,lstart,cmd | grep squid
root 5585 1 Sun Dec 16 01:00:18 2012 /usr/sbin/squid3 -YC -f /etc/squid3/squid.conf
proxy 5589 5585 Sun Dec 16 01:00:18 2012 (squid) -YC -f /etc/squid3/squid.conf
vyatta 5862 5296 Sun Dec 16 01:03:01 2012 grep squid
args:文字列の引数がついたコマンド
etime:プロセスが起動されてからの経過時間
lstart:コマンドが起動された時刻
osz:仮想メモリのプロセスの合計サイズ(ページ単位)
pcpu:プロセスのcpu使用率
pid:プロセスのプロセスID 番号
ppid:親プロセスのプロセスID番号
pmem:物理メモリに対する、プロセスの常駐セットサイズ(%)
rss:ロセスの常駐セットサイズ
sz:プロセスのコアイメージの物理ページサイズ
vsz:仮想メモリのプロセスの合計サイズ(kb)
http://linuxjm.sourceforge.jp/html/procps/man1/ps.1.html


grep

機能
ファイルに対してパターンマッチングを行い、マッチする行を出力する。
一部の正規表現を使用することが可能。検索対象が指定されない場合は、標準入力に対してパターンマッチングを行う。複数のファイルを同時に検索することも可能。
形式
grep (option) [検索文字列] [file name]
正規表現
条件 ※(char)は文字(列)を表す
\(char) charの特殊な意味をなくす
^(char) 行の先頭
(char)$ 行の終わり
.(char) 任意の一文字
[abc] / [a-c] abcのうち一文字
[^abc] / [^a-c] abc以外の一文字
(char)* 0回以上の繰り返し
オプション
-b 行のブロック番号をつける
-c パターンに一致した行の行数のみを出力する
-h 複数ファイルを指定した際に、ファイル名を出力しない
-i 大文字と小文字を区別しない
-l パターンに一致した行を含むファイル名だけを出力する
-n パターンに一致した行のファイル内での行番号を表示する
-s エラーメッセージのみを表示する
-v パターンに一致しない行を表示する
コマンド例
grep ‘abc’ file1 file1から文字列abcを含む行を検索する
grep -c ‘^abc’ file2 file2から行頭がabcの行数を出力する


Synergy

●概要
クロスプラットフォームな、ネットワークKVMツール、クリップボードも共有。
本家 http://synergy2.sourceforge.net/
Windows(日本語化)http://wiki.nothing.sh/page/memo/Synergy
●サーバ
キーボード/マウスがつながっている側
スクリーンにサーバとクライアントを登録
リンクに画面の位置関係を登録。(行きと戻り両方を登録する。)
●クライアント
操作される側
GUIツールのインストール
# apt-get install quicksynergy
サーバのIPアドレスを設定
# synergyc -f -n [host] [IP]


ランレベル

■■Debian系
Debian 系の多くのディストリビューションでは、ランレベル 2 から 5 を区別しない。
0 – 停止
1 – シングル
2 から 5 – マルチユーザーモードで、Xディスプレイマネージャも起動
6 – リブート
■■レッドハット系
0 – 停止
1 – シングルユーザー
2 – 未使用/ユーザー定義可能
3 – マルチユーザー、コンソールログインのみ
4 – 未使用/ユーザー定義可能
5 – ランレベル 3 + Xディスプレイマネージャ起動
6 – リブート
どのサービスがどのランレベルで起動するかは、chkconfig ツールで管理できる。
■■Solaris
0 – オペレーティングシステムを停止。SPARCの場合、OpenBootのプロンプトに移行
S – シングルユーザー、root ファイルシステムのみマウント(リードオンリー)
1 – シングルユーザー、全ローカルファイルシステムをマウント(リード/ライト)
2 – マルチユーザー、ほとんどのデーモンを起動
3 – マルチユーザー、ランレベル 2 の動作に加えて、ファイルシステムのエクスポート、その他のネットワークサービスを起動
4 – 予備のマルチユーザーモード。ユーザー定義
5 – シャットダウンし、ハードウェアがサポートしていれば電源を切る。
6 – リブート


GnuPG

●キー作成
gpg –gen-key
gpg –fingerprint
●リスト表示
gpg –list-keys
●信用データーベース更新
gpg –edit-key ユーザーid
コマンド>trust
5
y
コマンド>quit
gpg –update-trustdb
●失効証明(revocation certificate)を作成
gpg –gen-revoke your_userid > gpg.revoke
●公開鍵作成
gpg –export –armor {id or mail add} > gpg.pub
●秘密鍵
gpg –export-secret-keys –armor {id or mail add} > gpg.ppk
●公開鍵を取り込む
gpg –import < gpg.pub ●秘密鍵を取り込む gpg --import --allow-secret-key-import < gpg.ppk http://www.nyamo.net/wiki/wiki.cgi?Becky!


プロキシ設定(bash、csh、tcsh、yum、apt-get、Solaris Update、wget)

■■bash
$ vi ~/.profile
——————————————————————————–
export http_proxy=”http://proxy.server.com:8000/”
export ftp_proxy=”http://proxy.server.com:8000/”
——————————————————————————–
■■csh/tcsh
——————————————————————————–
setenv HTTP_PROXY “http://proxy.server.com:8000/”
setenv FTP_PROXY “http://proxy.server.com:8000/”
——————————————————————————–
■■yum
# vi /etc/yum.conf
——————————————————————————–
proxy=http://proxy.server.com:8000/
——————————————————————————–
■■apt-get
# vi /etc/apt/apt.conf
——————————————————————————–
Acquire::http::Proxy “http://proxy.server.com:8000/”;
Acquire::ftp::Proxy “http://proxy.server.com:8000/”;
——————————————————————————–
■■Solaris Update
# smpatch set patchpro.proxy.host
Web Proxy Host Name: proxy.server.com
# smpatch set patchpro.proxy.port
Web Proxy Port Number: 8000
■■wget
シェルでproxy設定しておけば問題なく使えるが、この設定でもOK。
——————————————————————————–
vi /etc/wgetrc
http_proxy=http://proxy.server.com:8000/
ftp_proxy=http://proxy.server.com:8000/
use_proxy = on
——————————————————————————–




ページ:12