Maharaはオープンソースのeポートフォリオシステムです。ソーシャルネットワーキングプラットフォームとしても使用できます。 MaharaはPHPで記述されており、PostgreSQLまたはMySQLデータベースサーバーを使用してデータを保存します。 Maharaを使用して、パーソナライズされたマルチメディアポートフォリオを作成し、他のユーザーとコラボレーションすることができます。
このチュートリアルでは、CentOS7サーバーにMaharaをインストールします。
前提条件
- 最小限のCentOS7サーバー
- root権限
パッケージをインストールする前にサーバーを更新して、既存のパッケージとリポジトリを更新することをお勧めします。
yum -y update
システムを更新したら、ApacheWebサーバーのインストールに進むことができます。
yum -y install httpd
次に、Apache Webサーバーを起動し、次のコマンドを使用して起動時に起動できるようにします。
systemctl start httpd
systemctl enable httpd
Maharaは、5.3以降のすべてのバージョンのPHPをサポートしています。ただし、このチュートリアルでは、PHP v5.3のサポートが終了したため、PHP7.1をインストールします。最新バージョンのPHPをインストールすると、アプリケーションのセキュリティとパフォーマンスを最大限に高めることができます。
CentOSのデフォルトのYUMリポジトリにはPHP7.1が含まれていないため、システムにWebtaticリポジトリを追加する必要があります。 EPELリリースをインストールします:
yum -y install epel-release
yum -y update
コマンドを入力してWebtaticリポジトリをインストールします。
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum -y update
次のコマンドを入力して、必要なすべての依存関係とともにPHP7.1をインストールします。
yum -y install php71w php71w-mysqli php71w-gd php71w-cli php71w-mcrypt php71w-mbstring php71w-dom
PHPが正常にインストールされているかどうかを確認するには、次のコマンドを実行します。
php -v
これと同様の出力が得られるはずです。
[[email protected] ~]# php -v PHP 7.1.6 (cli) (built: Jun 10 2017 07:28:42) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
次に、PHPでいくつかの構成を構成する必要があります。お気に入りのテキストエディタを使用して、PHP構成ファイルphp.iniを開きます。
nano /etc/php.ini
次の行を見つけてコメントを外し、地域に応じてタイムゾーンを設定します。例:
[Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone = Asia/Kolkata
さらに、次の行を検索します:
;session.entropy_length = 32
行のコメントを解除して、次の行を検索します。
post_max_size = 8M
値を8Mから999Mに変更します。ファイルを保存して、エディターを終了します。
MariaDBはMySQLデータベースのフォークです。サーバーにMariaDBをインストールするには、次のコマンドを実行します。
yum -y install mariadb mariadb-server
次のコマンドを実行してMariaDBを起動し、起動時に起動できるようにします。
systemctl start mariadb
systemctl enable mariadb
Now run the following commands to secure your MariaDB installation.
mysql_secure_installation
上記のコマンドは、MariaDBの新規インストールを保護するためのスクリプトを実行します。スクリプトは既存のrootユーザーパスワードを要求します。MariaDBをインストールしたばかりです。rootパスワードは設定されていません。Enterキーを押すだけで続行できます。
スクリプトは、MariaDBインストールのルートパスワードを設定するかどうかを尋ねてきます。yを選択して、インストールに強力なパスワードを設定します。ほとんどの質問は自明であり、すべての質問に「はい」または「はい」と答える必要があります。出力は次のようになります。
データベースを作成するには、最初にMySQLコマンドラインにログインする必要があります。同じように次のコマンドを実行します。
mysql -u root -p
上記のコマンドは、rootユーザーのMySQLシェルにログインし、rootユーザーのパスワードの入力を求めます。ログインするためのパスワードを入力します。次に、次のクエリを実行して、Maharaインストール用の新しいデータベースを作成します。
CREATE DATABASE mahara_data CHARACTER SET UTF8;
上記のクエリは、mahara_dataという名前の新しいデータベースを作成します。クエリは常にセミコロンで終わるため、各クエリの最後には必ずセミコロンを使用してください。
新しいデータベースユーザーを作成するには、次のクエリを実行します。
CREATE USER 'mahara_user'@'localhost' IDENTIFIED BY 'StrongPassword';
次に、作成したデータベースに対するすべての特権をデータベースユーザーに提供します。次のコマンドを実行します。
GRANT ALL PRIVILEGES ON mahara_data.* TO 'mahara_user'@'localhost';
次に、次のコマンドを実行して、データベース権限に変更をすぐに適用します。
FLUSH PRIVILEGES;
次のコマンドを使用してMySQLプロンプトを終了します。
EXIT;
すべての依存関係の準備ができたので、MaharaWebサイトからインストールパッケージをダウンロードできます。
cd /var/www
wget https://launchpad.net/mahara/17.04/17.04.2/+download/mahara-17.04.2.zip
アプリケーションの最新バージョンへのリンクは、Maharaダウンロードページでいつでも見つけることができます。次のコマンドを使用してアーカイブを抽出します。
unzip mahara*.zip
インストールされている解凍する必要がない場合は、yum -yinstallunzipを実行できます。次を使用してMaharaフォルダの名前を変更します:
mv mahara-*/ mahara/
次のコマンドを実行して、Maharaセッションデータを保存する新しいデータディレクトリを作成します。
mkdir /var/www/mahara/data
次のコマンドを実行して、Mahara構成ファイルをコピーします。
cp mahara/htdocs/config-dist.php mahara/htdocs/config.php
次のコマンドを実行して、nanoエディターでファイルを開きます。
nano mahara/htdocs/config.php
ここで、次の行を見つけます。
$cfg->dbtype = 'postgresql'; $cfg->dbhost = 'localhost'; $cfg->dbport = null; // Change if you are using a non-standard port number for your database $cfg->dbname = ''; $cfg->dbuser = ''; $cfg->dbpass = '';
作成したデータベースに応じて、上記の情報を変更してください。この場合、上記の行は次のようになります。
$cfg->dbtype = 'mysql'; $cfg->dbhost = 'localhost'; $cfg->dbport = null; // Change if you are using a non-standard port number for your database $cfg->dbname = 'mahara_data'; $cfg->dbuser = 'mahara_user'; $cfg->dbpass = 'StrongPassword';
次の行を見つけて、データディレクトリのパスを変更します。
$cfg->dataroot = '/var/www/mahara/data';
また、以下の構成でランダムな文字列を指定します。これは、ユーザーデータの暗号化に使用されます。
$cfg->passwordsaltmain = 'some random string here.';
次に、URLシークレットをnullに変更して、ブラウザを使用してcronを直接実行できるようにします。
$cfg->urlsecret = null;
ファイルを保存してエディタを終了します。
次に、次のコマンドを使用して、アプリケーションの所有権をWebサーバーユーザーに提供する必要があります。
chown -R apache:apache /var/www/mahara
ファイアウォールを実行している場合は、ファイアウォールを通過するポート80でHTTPトラフィックを許可する必要がある場合もあります。同じように次のコマンドを実行します。
firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --reload
サーバーを再起動せずにSELinuxを一時的に無効にするには、次のコマンドを実行します。
setenforce 0
SELinuxを完全に無効にするには、/ etc / selinux/configファイルを編集する必要があります。
nano /etc/selinux/config
次の行を見つけます:
SELINUX=enforcing
次のように変更します:
SELINUX=disabled
次に、Maharaアプリケーションの仮想ホストを作成します。同じように次のコマンドを実行します。
nano /etc/httpd/conf.d/mahara.yourdomain.com.conf
次の行をファイルに貼り付けます。
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "/var/www/mahara/htdocs" ServerName mahara.yourdomain.com ServerAlias www.mahara.yourdomain.com <Directory "/var/www/mahara/htdocs"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog "/var/log/httpd/mahara.yourdomain.com-error_log" CustomLog "/var/log/httpd/mahara.yourdomain.com-access_log" combined </VirtualHost>
mahara.yourdomain.comを、アプリケーションへのアクセスに使用するドメインまたはサブドメインに置き換えます。ファイルを保存して、エディターを終了します。次のコマンドを実行して、Apacheサーバーを再起動します。
systemctl restart httpd
次に、Webブラウザを使用してインストールを完了し、次のリンクに移動します。
http://mahara.yourdomain.com
次のページで歓迎されます。
マハラのインストールをクリックします ボタンをクリックして先に進みます。
次のインターフェースで、Maharaはデータベースを作成し、開始するために必要なモジュールをインストールします。完了したら、[続行]をクリックします 先に進むためのリンク。
次のインターフェースで、管理者ダッシュボードのパスワードを設定するように求められます。
最後に、以下に示すような管理ダッシュボードが表示されます。
これでMaharaのインストールが完了しました。Maharaを使用して、個人用または商用目的の美しいWebサイトを簡単に作成できます。