目次

Apache2

参考サイト

編集ファイル

/etc/apache2/httpd.conf        # ???
/etc/apache2/apache2.conf      # apache2の全体設定用ファイル
/etc/apache2/ports.conf        # ポート番号
/etc/apache2/mods-available/   # モジュールファイルが置かれるディレクトリ
/etc/apache2/mods-enabled/     # 使用するモジュールへのリンクファイルが置かれるディレクトリ
/etc/apache2/sites-available/  # サイト定義ファイルが置かれるディレクトリ
/etc/apache2/sites-enabled/    # 使用するサイト定義ファイルへのリンクファイルが置かれるディレクトリ

編集項目

ApacheのバージョンとOS名を表示させない

[編集ファイル:/etc/apache2/conf.d/security]

ServerTokens Prod
ServerSignature Off   #デフォルトがOFFなので設定する必要なし

エラーページの作成

[編集ファイル:/etc/apache2/conf.d/localized-error-pages]

ErrorDocument [エラー番号] [エラーページのパス]

[エラー番号]

# 401:認証失敗
# 403:アクセス権限がない
# 404:ファイルが存在しない
# 500:内部エラー

フォルダのアクセス権限

[編集ファイル:/etc/apache2/httpd.conf]

<Directory "アクセス制限を付けるフォルダのパス">
        Options -Indexes FollowSymLinks  # ファイルの一覧を表示させない
        AllowOverride None               # 指定したディレクトリに対して利用できる機能
        Order allow,deny                 # アクセス制御の優先順位
        Allow from all                   # Orderのallow設定
</Directory>

ベーシック認証

# 新規ユーザ登録
# パスワードファイルを新規で作成する場合は[-c]を付加

コマンド:sudo htpasswd [-c] /etc/apache2/.htpasswd [ユーザ名]
# 認証を行うフォルダの設定

[編集ファイル:/etc/apache2/httpd.conf]

<Directory "認証を行うフォルダのパス">
        AuthUserFile    /etc/apache2/.htpasswd  # 作成済みのパスワードファイルを指定

        AuthGroupFile   /dev/null               # 作成済みのグループファイルを指定
                                                # 利用しない場合は「/dev/null」

        AuthName        "Secret Page"           # 認証画面に表示されるメッセージ

        AuthType        Basic                   # 認証方式の指定
                                                # ベーシック認証なら「Basic」
                                                # ダイジェスト認証なら「Digest」

        Require valid-user                      # この制限で、アクセスを許可するユーザーやグループを指定
                                                # 個別に指定する場合には、アクセスを許可するユーザー名やグループ名をスペースで区切って指定
                                                # 「valid-user」はすべてのユーザを意味する
</Directory>

ダイジェスト認証

# 新規ユーザ登録
# パスワードファイルを新規で作成する場合は[-c]を付加

コマンド:sudo htdigest [-c] /etc/apache2/.htdigest realm ユーザ名
# 認証を行うフォルダの設定

[編集ファイル:/etc/apache2/httpd.conf]

<Directory "認証を行うフォルダのパス">
        AuthType Digest                        # 認証タイプを指定

        AuthName "Secret_Page"                 # ダイジェスト認証では認証領域(realm)を設定
                                               # PWファイルの作成時に設定したrealmを入力

        AuthUserFile /etc/apache2/.htdigest    # Apache2.2系
        AuthDigestFile /etc/apache2/.htdigest  # 以前のバージョン
                                               # パスワードファイル(.htdigest)へのパスを設定

        Require valid-user                     # パスワードファイルに記載された全ユーザに対してディレクトリへのアクセスを許可
</Directory>

Apacheモジュールのauth_digestを有効化

sudo a2enmod auth_digest

バーチャルホスト

バーチャルホストを導入することによって,1台のマシン上で2つ以上のwebサイトを仮想的に運用できる
例えば,batako.netとbatako.podzone.netのような違うサイトの運用

1.ファイルの作成

sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/適当なファイル名

2.ファイルの編集

先ほど作成したファイルを編集する

# バーチャルホストで監視するポートの設定
NameVirtualHost *:80

<VirtualHost *:80>
		
		# 監視するアドレス
		# このアドレスでアクセスすると「DocumenntRoot」で設定したサイトに移動させる
		ServerName batako.podzone.net
		
		# 表示させるルートフォルダの設定
		DocumentRoot /var/www/pukiwiki/
		
		:
		:
		
</VirtualHost>

3.作成したファイルを有効にする

sudo a2ensite /etc/apache2/sites-available/作成したファイル名

4.Apacheの再起動

sudo service apache2 restart

5.おまけ

バーチャルホストは指定したドメイン名のみを指定したフォルダに移動させる
逆に言えば,指定していないドメイン名はデフォルトの「DocumentRoot?」に移動する
この特徴を使えば,ドメイン名で接続してきた場合とIPアドレスで接続してきた場合で表示させるファイルを変えるなんて事も出来る

ドメイン名からIPアドレスを調べる方法は,端末にて以下のコマンドを入力する

nslookup ドメイン名

例)

batako@batako-server:~$ nslookup batako.podzone.net
Server:         192.168.1.1
Address:        192.168.1.1#53

Name:   batako.podzone.net
Address: ***.***.***.***

あとは「Address」に表示されているIPアドレスをブラウザに貼りつけて接続すると...

WordPress?

参考サイト

インストール方法

WordPress?のダウンロード

解凍とアップロード

インストール

データベース設定画面の入力

ブログタイトルとメールアドレスの入力

ログイン

MySQL

参考サイト

インストール方法

sudo apt-get install mysql-server

ログイン方法

mysql> mysql -u ユーザ名 -p;

ユーザの追加

mysql> grant all privileges on *.* to 'ユーザ名' identified by 'パスワード';

ユーザ情報の反映

mysql> flush privileges;

データベースの作成

mysql> create database データベース名;

データベースの削除

mysql> drop database データベース名;

データベースの確認

mysql> show databases;

データベース名の変更

mysql> rename database 変更前の名前 to 変更後の名前

どのデータベースユーザとして接続しているか確認

mysql> select user();

データベースの選択

mysql> use データベース名;

テーブルの作成

mysql> create table テーブル名 (
    -> フィールド名 型(領域),
    -> id int(10),
    -> memo char(140)
    -> );
  • MySQL 項目型
int / integer    4 バイト整数
smailint         2 バイト整数
bigint           8 バイト整数
float            浮動小数点
double / real    倍精度浮動小数点
date             日付
time             時間
timestamp        日付時間
char(文字数)     固定長文字列  (最大 256 文字)
varchar(文字数)  可変長文字列  (最大 256 文字)
text             ラージ文字列  (最大 65535 文字)
mediumtext       ラージ文字列  (最大 1677215 文字)
largetext        ラージ文字列  (最大 4294967295 文字)
blob             ラージバイナリ(最大 65535 bytes)
mediumblob       ラージバイナリ(最大 1677215 bytes)
largeblob        ラージバイナリ(最大 4294967295 bytes)
  • PostgreSQL 項目型
smailint / int2                     2 バイト整数
integer / int / int4                4 バイト整数
bigint / int8                       8 バイト整数
decimal(a, a) / numeric(a, s)       10 進型
real / float4                       6 桁単精度浮動小数点
double precision / float8           15 桁倍精度浮動小数点
serial                              4 バイト順序
bigserial                           8 バイト順序
date                                日付
time                                時間
timestamp                           日付時間
char(文字数) / character            固定長文字列  (最大 4096 文字)
varchar(文字数) / charcter varying  可変長文字列  (最大 4096 文字)
text                                無制限テキスト
ラージオブジェクト                  oid 型 (???)
boolean / bool                      true / false

テーブルの削除

mysql> drop table テーブル名;

テーブルの確認

mysql> show tables;

テーブルの構造確認

mysql> describe テーブル名;

テーブルの中身確認

mysql> select * from テーブル名;

レコードの追加

  • 全てのフィールドに値を入れる場合
mysql> insert into テーブル名 values(データ1, データ2, データ3);
  • フィールドを指定して値を入れる場合
mysql> insert into テーブル名 (フィールド名1, フィールド名2, フィールド名3)
    -> (フィールド名1のデータ, フィールド名2のデータ, フィールド名3のデータ),
    -> ('U001', '太郎', 20)
    -> ;

※ 文字は「'」で囲む事

※ 指定以外のフィールドには、defaultの値かnullが入る

レコードの削除

mysql> delete from テーブル名 [where 条件式];

※ 条件がない場合はすべてのレコードを削除する

レコードの修正

mysql> update テーブル名 set
    -> フィールド名1 = ,
    -> フィールド名2 = ,
    -> フィールド名3 = 
    -> [where 条件式]
    -> ;

※ 条件がない場合はすべてのレコードのフィールドを更新する

フィールドの追加

mysql> alter table テーブル名 add 新しいフィールド名 データ型 [first/after フィールド名];

※ firstかafterを指定することで、フィールドの前か後ろに挿入できる

※ PostgreSQLの場合は挿入位置を決めれず最後尾に付加される

フィールドの削除

mysql> alter table テーブル名 drop フィールド名;

フィールド名の変更

mysql> alter table テーブル名 rename 変更前フィールド名 to 変更後フィールド名;

フィールドのデータ型の変更

mysql> alter table テーブル名 modify フィールド名 新しいデータ型;

PukiWiki

参考サイト

導入方法

  • 自力でがんばるならココをクリック
  • ラクしたいならコレ使えばおk

DL & 解凍

公式サイトからPukiWikiを落としてきて、適当な場所にセットする

パーミッションの変更

セットした場所にアクセスすると分かるけど、このままじゃエラー吐いて正常に動かん

パーミッションがデフォルトじゃ間違ってるので修正

修正せないかんファイルがいっぱいあるので、下のシェルスクリプトを実行してやれば楽できる

chmod.sh

echo "パーミッションを変更するフォルダのパスを入力して下さい"
echo -n "PATH : "
read DIR_PATH
echo ""

sudo chmod 755 $DIR_PATH
sudo chmod 644 $DIR_PATH/.htaccess
sudo chmod 644 $DIR_PATH/*.php
sudo chmod 777 $DIR_PATH/attach
sudo chmod 644 $DIR_PATH/attach/.htaccess
sudo chmod 644 $DIR_PATH/attach/index.html
sudo chmod 777 $DIR_PATH/backup
sudo chmod 644 $DIR_PATH/backup/.htaccess
sudo chmod 644 $DIR_PATH/backup/index.html
sudo chmod 777 $DIR_PATH/cache
sudo chmod 666 $DIR_PATH/cache/*
sudo chmod 644 $DIR_PATH/cache/.htaccess
sudo chmod 644 $DIR_PATH/cache/index.html
sudo chmod 777 $DIR_PATH/counter
sudo chmod 644 $DIR_PATH/counter/.htaccess
sudo chmod 644 $DIR_PATH/counter/index.html
sudo chmod 777 $DIR_PATH/diff
sudo chmod 644 $DIR_PATH/diff/.htaccess
sudo chmod 777 $DIR_PATH/diff/index.html
sudo chmod 755 $DIR_PATH/image
sudo chmod 644 $DIR_PATH/image/*
sudo chmod 755 $DIR_PATH/image/face
sudo chmod 644 $DIR_PATH/image/face/*
sudo chmod 644 $DIR_PATH/lib/*
sudo chmod 755 $DIR_PATH/plugin
sudo chmod 644 $DIR_PATH/plugin/*
sudo chmod 755 $DIR_PATH/skin
sudo chmod 644 $DIR_PATH/skin/*
sudo chmod 777 $DIR_PATH/trackback
sudo chmod 644 $DIR_PATH/trackback/.htaccess
sudo chmod 644 $DIR_PATH/trackback/index.html
sudo chmod 777 $DIR_PATH/wiki
sudo chmod 666 $DIR_PATH/wiki/*
sudo chmod 644 $DIR_PATH/wiki/.htaccess
sudo chmod 644 $DIR_PATH/wiki/index.html

編集項目

[編集ファイル:/pukiwiki/pukiwiki.ini.php]

\$modifier = '管理者の名前';

\$modifierlink = '管理者のサイト';

#管理者のパスワード
\$adminpass = '{x-php-md5}********************************';

$defaultpage = "トップページの名前";

$page_title = "サイトのタイトル(ブラウザのタイトルバーに表示される名前)";

バックアップ方法

URLの最後に「?cmd=dump」を付加し管理画面に移動する。

例) http://batako.net/pukiwiki/index.php?cmd=dump

[バックアップディレクトリ]

  • wiki → wikiの記事をバックアップ対象にする
  • attach → 添付ファイルをバックアップ対象にする
  • backup → (たぶん)wikiの編集履歴をバックアップ対象にする

シェルスクリプトによるバックアップファイルの作成方法

リストア方法

バックアップファイルを直接上書きしてもいいけど、リストア機能を利用する。

デフォルトで無効になっているので有効にする。

リストアしたあと無効にしたほうがいいかも。

編集ファイル

pukiwiki/plugin/dump.inc.php

編集箇所

// Allow using resture function
define('PLUGIN_DUMP_ALLOW_RESTORE', TRUE); // デフォルトで「FALSE」になっているので「TRUE」に変える

バックアップファイルをアップロードする

URLの最後に「?cmd=dump」を付加し管理画面に移動し、バックアップファイルをアップロードする。

キャッシュの更新

URLの最後に「?cmd=links」を付加したアドレスに移動し、アクセスしてキャッシュの更新して終了。

AA

ココ見ればおk

Pukiwikiの編集制限

 参考ページ

[編集ファイル:/pukiwiki/pukiwiki.ini.php]

// ユーザ定義
$auth_users = array(
     'ユーザ名' => '{x-php-md5}********************************',
);

// 編集認証フラグ
// 0:不要
// 1:必要
$edit_auth = 1;

// 編集認証対象パターン定義
$edit_auth_pages = array(
     '/^.*$/' => 'ユーザ名', 
);

MenuBarの幅の変更

1.4.4 以前のバージョン

[編集ファイル:pukiwiki/skin/pukiwiki.skin.ja.php]

td.menubar{width:135px;}
div#menubar{width:130px;}

1.4.5 以降のバージョン

[編集ファイル:pukiwiki/skin/pukiwiki.css.php]

td.menubar {
<?php   if ($media == 'print') { ?>
        display:none;
<?php   } else { ?>
        //MenuBarの右側の余白
        width:9em;
        vertical-align:top;
<?php   } ?>
}

div#menubar {
<?php   if ($media == 'print') { ?>
        display:none;
<?php   } else { ?>
        //MenuBar自体の横幅(16em)
        width:9em;
        //余白の縦幅と横幅?
        padding:0px;
        //余白の縦幅と横幅?
        margin:4px;
        word-break:break-all;
        font-size:90%;
        overflow:hidden;
<?php   } ?>
}

div#menubar ul {
        //段落を下げ時の上の余白[px] 折り返し位置[px] 段落を下げ時の下の余白[px] 項目の左の余白?[em]
        //margin:0px 0px 0px .6em;
        margin:0px 0px 0px .5em;
        //padding:0px 0px 0px .8em;
        padding:0px 0px 0px .5em;
}

//文字の縦間の余白(150%)
div#menubar ul li { line-height:110%; }

//***の項目のみ大きさ変更?
div#menubar h4 { font-size:110%; }

編集ウインドウのサイズ変更

[編集ファイル:pukiwiki/default.ini.php]

/////////////////////////////////////////////////
// テキストエリアのカラム数 (横幅)
$cols = 145;

/////////////////////////////////////////////////
// テキストエリアの行数 (縦幅)
$rows = 20;

Youtubeの埋め込み

ココ見ればおk

#youtube(WBrmCFnGoLA)

ニコニコ動画埋め込み

ココ見ればおk

#nicovideo(sm9527045)

2ch風掲示板+IP晒し

編集ファイル:pukiwiki/plugin/comment.inc.php

名前の入力がない場合は名無しにする

変更前

$_name = ($_name == '') ? '' : str_replace('$name', $_name, PLUGIN_COMMENT_FORMAT_NAME);

変更後

$_name = (!trim($_name) || !trim($_name, ' ')) ? '[[名無し]]' : str_replace('$name', $_name, PLUGIN_COMMENT_FORMAT_NAME);

2ch風の出力に変更

変更前

$comment = '-' . $head . ' ' . $comment;

変更後

if(!trim($vars['msg']) || !trim($vars['msg'], ' ')){
	// 本文が空白の場合は投稿しない
	$comment = '';
}else{
	$now = str_replace(' ', '', $now);
	$now = str_replace(')', ') ', $now);
	$now = str_replace('-', '/', $now);
	// IP晒し
	$comment = '+ 名前:' . $_name . ' ' . $now . ' IP:' . $_SERVER['REMOTE_ADDR'] . "~\n " . str_replace('$msg', $vars['msg'], PLUGIN_COMMENT_FORMAT_MSG);
	// 晒しなし
	//$comment = '+ 名前:' . $_name . ' ' . $now . "~\n " . str_replace('$msg', $vars['msg'], PLUGIN_COMMENT_FORMAT_MSG);
}

アクセス解析の設置

各サービスによってはHEADタグ内にコード貼付け推奨(Google Analytics)だったり、BODYタグ内にコード貼付け推奨(FC2アクセス解析)だったりする。

JavaScriptはどこに貼付けようが動くので、HTMLタグのどっかに貼付ければおk。

編集ファイル

pukiwiki/skin/pukiwiki.skin.php

編集箇所

		// ココにトラッキングコードを貼付ける
	</body>
</html>

アフィリエイトの設置

どこに貼付けたいのかで編集する箇所が変わるけど、左のメニューの下に設置したい場合の例。

編集ファイル

pukiwiki/skin/pukiwiki.skin.php

編集箇所

<td class="menubar">
	<div id="menubar">
		<?php echo do_plugin_convert('menu') ?>
		// ココに広告コードを貼付ける
	</div>
</td>

左上のアイコン変更

画像アップロード先

pukiwiki/image/

編集ファイル

pukiwiki/skin/pukiwiki.skin.php

編集箇所

$_IMAGE['skin']['logo']     = 'ファイル名';
<a href="<?php echo $link['top'] ?>"><img id="logo" src="<?php echo IMAGE_DIR . $image['logo'] ?>" width="横幅" height="縦幅" alt="画像の説明" title="画像の説明" /></a>

ファビコンの設定

画像アップロード先

pukiwiki/image/

編集ファイル

pukiwiki/skin/pukiwiki.skin.php

編集箇所

左上のアイコン変更とは違い、pukiwikiのルートから辿って指定するので注意!

$_IMAGE['skin']['favicon']  = 'image/ファイル名.ico'; // Sample: 'image/favicon.ico'

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-01-16 (土) 18:03:29 (435d)