coreserverにオープンソースのSNSエンジン「OpenPNE」をインストール
セキュリティ面を考慮し、公開ディレクトリ、非公開ディレクトリを分ける設定
まずは、ドメイン取得とcoreserverの設定から
【ドメイン取得(Value domain)】
1.Value domainが非常に安価で、細かい設定までできるし、
coreserverとの相性ばっちりなので、オススメ
1-1.登録はこちら
2.購入すればすぐに使えるようになるので、早速DNSを設定し、
購入したドメインでcoreserverに接続できるように。
2-1.取得済みドメイン一覧の中で、新規取得したドメインの「DNS」をクリック
2-2.自動設定の「選択してください」プルダウンで、自分の契約している
coreserverを選択
2-3.「保存する」で終了
【coreserver設定】
※coreserverの設定は反映されるまで、1~3分程度かかることが多いので、
反映されていない場合は、少し時間を空けて確認する必要がある
3.coreserver管理画面で、ドメインとDB、メール設定を行う
(ドメイン設定)
3-1.coreserver管理者画面にアクセスし、「ドメインウェブ」の中に
取得したドメインを設定
※こちらはサブドメインごとに設定なので、例えば
「http://○○.××.com」にする場合はSub1に「○○.××.com」
「http://××.com」にする場合はSub1に「××.com」
という感じ。
今回は「http://sns.××.com」でアクセスできるようにするので、
Sub1に「sns.××.com」」と設定
3-2.coreserverにFTPでログインし、「public_html」の中に、「sns.××.com」ディレクトリを作成
ここがドキュメントルートになる
(メール設定)
3-3.coreserver管理者画面にアクセスし、「ドメインメール」の中に、以下を設定
admin@sns.××.com
default@sns.××.com
両方とも、サイズを100000000byteにしておく
(DB設定)
3-4.「MySQLの追加・編集」で、「ユーザー名_」となっている場所の左チェックボックスをチェックし、
以下のように入力し、「作成」ボタンをクリック
DB/ユーザー名 ユーザー名_××sns
パスワード △△△△△△△
文字コード UNICODE
3-5.phpmyadminをインストールしていなければインストール
【OpenPNEダウンロード】
3.公式サイト(http://www.openpne.jp/)から最新安定板をダウンロード
4.解凍
【OpenPNE設定】
5.config(設定ファイル)を編集
5-1.解凍したフォルダ内の、「config.php.sample」を「config.php」にリネーム
5-2.config.phpを開き、以下を設定
// Web上の絶対パス(URL)(最後にスラッシュを付けてください)
define('OPENPNE_URL', 'http://sns.××.com/');
// DBサーバ設定
$GLOBALS['_OPENPNE_DSN_LIST']['main'] = array(
'dsn' => array(
'phptype' => 'mysql',
'username' => 'ユーザー名_××sns', ← 3-3で設定したDB/ユーザー名
'password' => 'hogepassword', ← 3-3で設定したパスワード
'hostspec' => 'localhost',
'database' => 'hogehoge_××sns', ← 3-3で設定したDB/ユーザー名
'new_link' => false,
),
);
// DB暗号化キー(56バイト以内のASCII文字列)
define('ENCRYPT_KEY', 'asfwl30EFKLAAFWEIwefibsaillwud'); ← 適当に入力
// メールサーバードメイン
// 携帯メール投稿の宛先などのドメイン名に使われる
define('MAIL_SERVER_DOMAIN', 'sns.××.com');
// Envelope-From ヘッダを設定するかどうか(safe_modeの場合はfalseに設定してください)
define('MAIL_SET_ENVFROM', false); ← coreserverはPHPがsafe_modeなので変更
5-3.public_html内のconfig.inc.phpを開き、以下を設定
define('OPENPNE_DIR', realpath('../../openpne_sns.××com/'));
【OpenPNEアップロード】
6.公開ディレクトリ、非公開ディレクトリにそれぞれアップロード
6-1.解凍したファイルの「public_html」内のすべてのファイルを、
2-5で作成した「sns.××.com」内にアップロード
6-2.「public_html」と同階層に「openpne_sns.××com」を作成
/---
|- public_html
|- openpne_sns.××com
6-3.解凍したファイルの「public_html」以外のすべてのファイルを、
6-2で作成した「openpne_sns.××com」内にアップロード
6-4.openpne_sns.××com内の「var」以下すべてのファイル権限を「777」に設定
SSHでログインして、以下のコマンドで一括設定できるので便利
chmod -R 0777 var/*
【OpenPNEインストール】
7.DB設定のSQL実行とWEBからインストールを行う
(DB設定)
7-1.phpmyadminにログインする
※phpmyadminログイン画面の前に、ベーシック認証のポップアップが表示された場合は、
ID:coreserverユーザー名、パスワード:cnBEを入力
ID :3-3で設定したユーザー名
パスワード: :3-3で設定したパスワード
7-2.左メニュー「データベース」プルダウンから、「ユーザー名_××sns」を選択
7-3.「インポート」タブをクリック
7-4.「インポートするファイル」で、解凍したOpenPNE内の以下を選択し、「実行する」ボタンを押す
setup/sql/mysql41/install/install-X.XX.X-create_tables.sql ← X.XX.Xはバージョン
7-4.「インポートするファイル」で、解凍したOpenPNE内の以下を選択し、「実行する」ボタンを押す
setup/sql/mysql41/install/install-X.XX.X-insert_data.sql ← X.XX.Xはバージョン
(WEBからインストール)
7-5.「http://sns.××.com」にアクセスし、以下を設定後、「セットアップ実行」ボタンをクリック
【確認】
8.下記URLから動作確認
8-1.ユーザー画面:http://sns.××.com
8-2.管理者画面:http://sns.××.com/m=admin
【その他の設定】
9.上記で一応動作するようになったので、その他の設定を行う
(cronの設定)
9-1.cronの設定
SSHでログインし、「crontab -e」を実行し、以下を設定
00 9 * * * /bin/sh /virtual/ユーザ名/openpne_sns.××.com/bin/tool_send_daily_news.cron
/virtual/ユーザー名/openpne_sns.××.com/bin/ /usr/local/bin/php
00 9 * * * /bin/sh /virtual/ユーザ名/openpne_sns.××.com/bin/tool_send_birthday_mail.cron
/virtual/ユーザー名/openpne_sns.××.com/bin/ /usr/local/bin/php
00 9 * * * /bin/sh /virtual/ユーザ名/openpne_sns.××.com/bin/tool_send_schedule_mail.cron
/virtual/ユーザー名/openpne_sns.××.com/bin/ /usr/local/bin/php
20 * * * * /bin/sh /virtual/ユーザ名/openpne_sns.××.com/bin/tool_rss_cache.cron
/virtual/ユーザー名/openpne_sns.××.com/bin/ /usr/local/bin/php
9-2.管理者アカウントにごみメールが来る場合、以下を設定
対象ファイル:bin/tool_send_dairy_news.cron
変更前:$2 -f tool_send_daily_news.ph
変更後:$2 -f tool_send_daily_news.ph > /dev/null
(携帯投稿メールの設定)
coreserverでは、/etc/aliasesの設定ができないので、PHPで転送設定
10-1.プログラムをダウンロード
http://www.itsup.net/a02/filemgmt/index.php?id=1
10-2.解凍
10-3.「OpenPNE/bin/chkmail_ini.php」を編集
<?
//*☆OPENPNE_DIR
define('OPENPNE_DIR', realpath('../'));
//*☆受信メールサーバーの設定
$_MS_host = "sns.××.com"; //メールのPOP3サーバー名
$_MS_user = "default@sns.××com"; // ユーザーID
$_MS_pass = "パスワード"; // パスワード
?>
10-4.「sample/chkmailimg.php」を編集
<?php
Header("Content-Type: image/gif");
define('OPENPNE_DIR', realpath('/virtual/ユーザー名/openpne_sns.××com/'));
include(OPENPNE_DIR ."/bin/chkmail.php");
echo " ";
?>
10-5.アップロード
非公開ディレクトリ/binに以下をアップロード
chkmail.php
chkmail_ini.php
公開ディレクトリ直下に以下をアップロード
chkmailimg.php
10-6.管理者画面から設定
デザイン → HTML挿入 → 携帯版前ページ共通 → HTML挿入(ページ下部)
<img src="chkmailimg.php" width="1" height="1" alt="" />
以上で、メールから画像を投稿した場合、携帯画面が更新される際に、
自動的に反映されるようになる。
Powered by "Samurai Factory"
