ラベル apache2 の投稿を表示しています。 すべての投稿を表示
ラベル apache2 の投稿を表示しています。 すべての投稿を表示

2013年4月5日金曜日

EC2 httdインストール

最初に、
yum list installedで何のパッケージが入っているか調べる。


色々入っているがapache2は無い。

一応、初期状態のyumリストを作成しておく。


yum list installed > yum_list_2013_hogehoge.txt

今回使ったのはリダイレクト >
パイプ処理についてはもっと理解してから書きます。

参考


リダイレクトとは
コマンドの実行結果を次のコマンドに受け渡して実行させる手段。

[tanaka@web1 ~]$ date > home_df.log 
[tanaka@web1 ~]$ df /home >> home_df.log



どちらもやることはhome_df.logに出力すること

>>>の違いは

>
出力先の元の内容を破棄して新しい出力に置き換えるリダイレクト処理によって、前回の出力結果は消去されてしまいます。

>>
「追記のリダイレクト処理」を行うように命令を変更します。
らしい。
1回目以降は>>にすると良いみたいですね。


次、apache インストール



■Apache2.2 yum install
今回は、すべてのパッケージをインストールします
※通常は不必要なパッケージを除いてインストールします。
▼パッケージリストの取得
# yum list | grep httpd
# yum list | grep php
▼Apache2.2のインストール
# yum -y install httpd*
■Apache設定
※念の為、設定ファイルはバックアップをとっておく事
# cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.def
# vi /etc/httpd/conf/httpd.conf
————————————————–

とりあえずapacheはインストール完了

conffileについては後日



▼起動と停止の方法
/etc/init.d/httpd start

▼自動起動設定
# chkconfig httpd on
# chkconfig –list httpd

debianとの違いは
/etc/init.d/apache2
/etc/init.d/httpd
パッケージ名が違うだけっぽい気がします。
confなどのファイルディレクトリはまだ見てません。



2013年3月22日金曜日

ionCube

ionCubeのインストール



http://temog.info/archives/vps/serversmanvps-php-5-3-3-%E3%81%A7-blueonyx-%E3%82%92%E4%BD%BF%E3%81%86.html





ずっと探してたものを発見

前回ヒストリーを作ったと思ったんだけど失念してました。

ionCubeとは

PHPプログラム)を暗号化するセキュリティソフトです。

ソフトを利用して暗号化されています。プログラムを実行するためには、ionCubeローダーというプログラムが必要になります。

だってさ。

Accelerator(実行速度アップ) と

Encoder(ソース暗号化)の2種類がある





今回入れたいのは正にローダーです。

Acceleratorってすげーな



手順を追って、、、

webから持ってくるのか・・・

まだFTP入れてないんだよね。。。

なのでここはwgetしてみよう。



wgetの使いかたは別の記事で書きますね。

とりあえずなんかあるかわからんので

$ su root -
パスワード:
wget すると普通にhtmlを拾ってくるぞ・・・
だめか・・・

---------------------------------------------------------------------------
http://www.asial.co.jp/ioncube/encoder/install_loaders.php

http://mizupc8.bio.mie-u.ac.jp/pukiwiki/index.php?Ubuntu%2FServer%2FWeb%2FGroupOffice

$ wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
$ tar zxvf ioncube_loaders_lin_x86-64.tar.gz
$ sudo mv ioncube /usr/local/
さっくり解凍

PHP5 に IonCube Loader の場所を指定する。
 php -vでバージョンを調べる
PHP 5.3.3-7
 http://www.asial.co.jp/ioncube/encoder/install_loaders.php
これを参考に php.iniの場所を調べる

->/etc/php5/apache2/php.ini
ここに↓を追加 
zend_extension=/usr/local/ioncube/ioncube_loader_lin_<●phpのバージョン●>.so




apacheを再起動して完了っすね。

ionCube

ionCubeのインストール



http://temog.info/archives/vps/serversmanvps-php-5-3-3-%E3%81%A7-blueonyx-%E3%82%92%E4%BD%BF%E3%81%86.html





ずっと探してたものを発見

前回ヒストリーを作ったと思ったんだけど失念してました。

ionCubeとは

PHPプログラム)を暗号化するセキュリティソフトです。

ソフトを利用して暗号化されています。プログラムを実行するためには、ionCubeローダーというプログラムが必要になります。

だってさ。

Accelerator(実行速度アップ) と

Encoder(ソース暗号化)の2種類がある





今回入れたいのは正にローダーです。

Acceleratorってすげーな



手順を追って、、、

webから持ってくるのか・・・

まだFTP入れてないんだよね。。。

なのでここはwgetしてみよう。



wgetの使いかたは別の記事で書きますね。

とりあえずなんかあるかわからんので

$ su root -
パスワード:
wget すると普通にhtmlを拾ってくるぞ・・・
だめか・・・

---------------------------------------------------------------------------
http://www.asial.co.jp/ioncube/encoder/install_loaders.php

http://mizupc8.bio.mie-u.ac.jp/pukiwiki/index.php?Ubuntu%2FServer%2FWeb%2FGroupOffice

$ wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
$ tar zxvf ioncube_loaders_lin_x86-64.tar.gz
$ sudo mv ioncube /usr/local/
さっくり解凍

PHP5 に IonCube Loader の場所を指定する。
 php -vでバージョンを調べる
PHP 5.3.3-7
 http://www.asial.co.jp/ioncube/encoder/install_loaders.php
これを参考に php.iniの場所を調べる

->/etc/php5/apache2/php.ini
ここに↓を追加 
zend_extension=/usr/local/ioncube/ioncube_loader_lin_<●phpのバージョン●>.so




apacheを再起動して完了っすね。

2013年3月20日水曜日

apache2 その3

 _| ̄|_    //ヽ\
 |      '|/ / ノ  "´ ̄ ̄''''‐-...ノヽ
 |__|'' ̄!  !    /            丶 |
   ,‐´ .ノ''   /  ,ィ             \
   ヽ-''"   7_//         _/^ 、 `、
┌───┐  /          / 、_(o)_,;j ヽ|
|┌─,  .|  /.           -   =-{_(o)
└┘ ノ ノ   |/        ,r' / ̄''''‐-..,>
   //   {         i' i    _   `ヽ
          ̄フ       i' l  r' ,..二''ァ ,ノ
   n      / 彡       l  /''"´ 〈/ /
   ll     _ > .  彡    ;: |  !    i {
   l|       \ l 彡l     ;. l |     | !
   |l      トー-.   !.    ; |. | ,. -、,...、| :l
   ll     |彡     l    ; l i   i  | l
   ll     iヾ 彡     l   ;: l |  { j {
   |l     { 彡|.      ゝ  ;:i' `''''ー‐-' }
. n. n. n  l 彡   ::.   \ ヽ、__     ノ
  |!  |!  |!   l彡|    ::.     `ー-`ニ''ブ
  o  o  o   l      :.         |


上手くいかない・・・
2個とも同じものを見てしまう・・・

NameVirtualHost ●.●.●:80
<VirtualHost *:80>
ServerAdmin info@test.jp
ServerName test.jp
DocumentRoot /var/www/tests

<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/tests/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>



NameVirtualHost ●.●.●.●:81

ServerAdmin info@hogehoge.co.jp
ServerName hogehoge.co.jp
DocumentRoot /var/www/hogehoge

Options FollowSymLinks
AllowOverride None

Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all


ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

何が問題なんだろう。。。
http://pokotsun.mydns.jp/?p=770

新しい記事を読み込む
一旦hogehoge.o.jpの方を解除
test.jpを残し、編集


結果、自分の頭がどうかしてた。


そもそもの考え方がイカンかった。


NameVirtualHost 27.96.63.134:80
<VirtualHost *:80>
ServerAdmin info@hogehoge.co.jp
ServerName hogehoge.co.jp
DocumentRoot /var/www/hogehoge_co
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/hogehoge_co/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
/span>
ErrorLog ${APACHE_LOG_DIR}/hogehoge_co_error.log
/span>
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
/span>
CustomLog ${APACHE_LOG_DIR}/hogehoge_co_access.log combined
</VirtualHost>

<VirtualHost *:80>
ServerAdmin info@test.co.jp
ServerName test.co.jp
DocumentRoot /var/www/test_co

<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/test_co/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/test_co_error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/test_co_net_access.log combined
</VirtualHost>


今回書いたのがこれ
今まで、NAMEベースって言うのはポートでどのサイトかを判別していると思ってたけど <VirtualHost *:80>


<VirtualHost *:81>

どうも違うのね
振り分けてるのはServerName hogehoge.co.jp
これだと判断する。
今度はここを双方のドメインにしつつポートを揃えて、なおかつ設定ファイル。この場合は/sites-available/test.jpファイル1枚で作成してみた。
結果、

                      /
                    /
                       ` ー
                       _,.>
                      r "
     うごいた!        \    _
                         _ r-''ニl::::/,ニ二 ーー-- __
                     .,/: :// o l !/ /o l.}: : : : : : :`:ヽ 、
                   /:,.-ーl { ゙-"ノノl l. ゙ ‐゙ノノ,,,_: : : : : : : : : :ヽ、
               __l>ゝ、,,ヽ /;;;;;;;;;;リ゙‐'ー=" _゛ =、: : : : : : : :ヽ、
              /  _________`゙ `'-- ヾ_____--⌒     `-: : : : : : : :
...-''"│    ∧  .ヽ.  ________   /   ____ ---‐‐‐ーー    \: : : : :
    !   /   .ヽ  ゙,ゝ、      /  ________rー''" ̄''ー、    `、: : :
    .l./     V   `'''ー-、__/__r-‐''"゛     ̄ ̄   \   ゙l: : :
                   l     .,.. -、、 _ ‐''''''''-、    l   !: :
                  |   /    .| .!     `'、  |   l: :
                      l   |     .l,,ノ     |  !   !: :
                       / '゙‐'''''ヽ、 .,,,.. -''''''''^^'''-、/  l   !: :
             r―- ..__l___    `´            l   /   /: :
                \      `゙^''''''―- ..______/_/   /: : :
                `


チクショウ、チクショウorz


------------------------------------------------------------------------------
続き

1枚の設定ふぁいるで動いたので

今度は再び2枚に戻す

ファイルを作り sudo a2ensite hogehoe
で設定ファイルのシンボリックを貼る。

sudo /etc/init.d/apache2 restart
でアパッチを再起動

問題なく分けられてる!!!!



以上で設定を完了します。


いずれNAMEベースのデメリットとかも勉強していこうと思う。

http://uturo1.nevernothing.jp/apache2namebase/


2013年3月19日火曜日

apache2 その2

前回の記事を元に
sites-available
sites-enabled
を編集していけば良い事が分かった。

なので~
今回はバーチャルホストの設定に進んでみることにする。

今回参考にするサイト一覧

http://d.hatena.ne.jp/UDONCHAN/20101027/1288155504
http://linuxer.seesaa.net/article/41624641.html

http://sj6.org/apache2%E3%81%AE%E7%90%86%E8%A7%A3%E3%82%92%E6%B7%B1%E3%82%81%E3%82%8B/

http://www.infra.jp/debian/apache2_ab.html
http://hishou.ddo.jp/modules/pico/index.php?content_id=19



まずはsites-available
サイト定義ファイルが置かれるディレクトリに置かれているdefaultをバックアップ
sudo cp default default_2013_03_18
その後編集するファイルをコピー
sudo cp default domain_s
以降domain_sを変更していく事にする。
<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
以下説明
NameVirtualHost
ネームベースのバーチャルホスト (一つの IP アドレスに複数のウェブサイト)を設定したいときに必要となるもの
そんなときはIPを指定するのですが、現在は*でOK。
つまり、192.168.100.999:80 みたいにして書くのかしら。

<virtualhost>~</virtualhost>
特定のバーチャルホストに対してのみ適用されるディレクティブ群を括るためのもの
バーチャルホストを設定する場合は*の部分にIPアドレスを入力しますが、
こちらも*でOK。
他にこの階層に記述してあるものを見てみます。

---------------------------------------------------------------------------------
以下サイトに記載されていたもの
ServerAdmin webmaster@localhost
    -->管理者のメールアドレスです。
DocumentRoot /var/www/
    -->ドキュメントルートの場所です。
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
-->対象ディレクトリに mod_cgi の cgi-script ハンドラで処理される CGI スクリプトがある場合、ドキュメントを ローカルファイルシステムの DocumentRoot 以外の場所に保管することができます。
この場合は、/cgi-bin/ ディレクトリから処理対象CGIが呼び出された場合、/usr/local/cgi_bin ディレクトリにあるファイルが呼び出されます。

うん、意味不明・・・

ErrorLog /var/log/apache2/error.log
    -->サーバがエラーログを収集する場所を指定しています。
LogLevel warn
-->ログに記録するメッセージのレベルを設定します。

emerg,alert,crit,error,warn,notice,info,debugの8種で、運用時はnotice,warn、テスト時はinfo,debugを指定することが多い。
CustomLog /var/log/apache2/access.log combined
-->サーバへのリクエストログを収集する場所を指定します。

2番目の引数はログの書式で、よく使われるものは以下のとおり。

Common Log Format (CLF)
    "%h %l %u %t \"%r\" %>s %b"
バーチャルホスト付き Common Log Format
    "%v %h %l %u %t \"%r\" %>s %b"
NCSA extended/combined ログ書式
    "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""
Referer ログ書式
    "%{Referer}i -> %U"
Agent (ブラウザ) ログ書式
    "%{User-agent}i"

ServerSignature On
-->サーバが生成するドキュメントに付与するフッタの設定で、on|Off|Emailがあり、
OnにするとServerNameに書かれた行を追加し、EmailはさらにServerAdminを追加します。
Alias /doc/ "/usr/share/doc/"
-->ドキュメントを ローカルファイルシステムの DocumentRoot 以外の場所に保管することができます。
この場合は、/doc/ ディレクトリからファイルが呼び出された場合、/usr/share/doc/ ディレクトリにあるファイルが呼び出されます。

あとは、ServerNameを追加します。
ServerName
-->サーバが自分自身を示すホスト名とポートです。例えば、www.example.com:80のように設定します。

ServerAdmin webmaster@localhost
DocumentRoot /var/www

Options FollowSymLinks
    #FollowSymlinks:ディレクトリ内でシンボリックリンクをたどれるようなる

AllowOverride None
    #.htaccess で許可されるディレクティブの種類を設定します。以下のキーワードから設定します。
        ALL:.htaccessの全てのディレクティブを許可
        None:.htaccessが無効
        AuthConfig:認証に関するディレクティブの使用を許可
        FileInfo:ドキュメントタイプを制御するためのディレクティブの使用を許可
        Indexes:ディレクトリインデックスを制御するためのディレクティブの使用を許可
        Limit:ホストへのアクセス制御を行うためのディレクティブの使用を許可
        Options:特定のディレクトリにおける機能を指定するためのディレクティブの使用を許可
 




Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
    #サーバのある領域にアクセスできるホストを制御します。
        設定できる値は、ドメイン(とその一部)やIPアドレス
        (とその一部)、ネットワーク/ネットマスク の対、ネットワーク/nnn CIDR 指定が設定できます。
        例> Allow from 10.1.2.3

#Deny
#Allowと同様の形式でアクセスを拒否するホストを制御します。


       


        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
       
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny

    #デフォルトのアクセス可能な状態と、Allow と Deny が評価される順番を制御します。
    #Deny,Allow:Denyが Allowの前に評価。アクセスはデフォルトで許可。
    #Allow,Deny:AllowがDenyの前に評価。アクセスはデフォルトで拒否。
    #Mutual-failure:Allow,Denyと同様で、非推奨設定。



Allow from all
       


        ErrorLog ${APACHE_LOG_DIR}/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/access.log combined




混乱してきた。
とりあえず設定を反映させてみよう 
----------------------------------------------------------------

はい、だめー。。。

後半へ続く

2013年3月18日月曜日

apache2

apache2インストール

sudo apt-get install apache2

Apache2の設定ファイルとしては、/etc/apache2/apache2.confが元の設定ファイルとなります。この設定ファイル内の中で、以下の記述がありました。
Debianのapache2は独自ルール
設定ファイルは
/etc/apache2/apache2.conf
基本設定
/etc/apache2/ports.conf
ポート設定
使用するポートをこのファイルに設定します。一般的な80番とか443番とかを設定します。
/etc/apache2/mods-available/
モジュールファイルが置かれるディレクトリ
このディレクトリには、モジュール設定ファイルが置かれています。モジュール定義ファイルは、2種類(xxxx.load、xxxxx.conf)が存在します。 loadファイルは、モジュールの取り込みの設定が、confファイルには、モジュールの設定について書かれています。設定を反映させるために は、「a2enmod ファイル名(拡張子は付けない)」実行する必要があります。また、設定を取り消すには、「a2dismod ファイル名(拡張子は付けない)」を実行します。
/etc/apache2/mods-enabled/
使用するモジュールへのリンクファイルが置かれるディレクトリ
このディレクトリ内には、ファイルは存在しません。「/etc/apache2/mods-available/」内のモジュール定義ファイルのシンボ リックリンクが存在するだけです。このディレクトリにシンボリックリンクがあるモジュールのみ有効となります。前述の「a2enmod」 「a2dismod」の実行でシンボリックリンクの作成や削除が実行されます。
/etc/apache2/conf.d/」内のファイル
このディレクトリ内のファイルについては、置かれたファイルの内容が設定に追加されます。
使用目的としては、Debianのパッケージが使用しているようです。
apache-docなどのパッケージをインストールすると、それらに対応したApacheの設定ファイルが置かれるようです。
/etc/apache2/sites-available/
サイト定義ファイルが置かれるディレクトリ
サイト定義ファイルの保存場所です。サイト定義ファイルとは、NameベースやIPベースのバーチャルホストの使用を前提としたサイトごとの定義ファイルです。 このディレクトリにファイルを置くだけでは、設定は、変わりません。設定を反映するには、「a2ensite ファイル名」を実行する必要があります。また、設定を取り消すには、「a2dissite ファイル名」を実行します。
/etc/apache2/sites-enabled/
使用するサイト定義ファイルへのリンクファイルが置かれるディレクトリ
 このディレクトリ内には、ファイルは存在しません。「/etc/apache2/sites-available/」内のサイト定義ファイルのシンボリッ クリンクが存在するだけです。このディレクトリにシンボリックリンクがあるサイトのみ有効となります。前述の「a2ensite」「a2dissite」 の実行でシンボリックリンクの作成や削除が実行されます。

■参考
http://www.uetyi.mydns.jp/wordpress/apache-setting/entry-146.html


<<参考>>
http://server.riopi.net/apache-1.html


/etc/apache2/apache2.conf
User www-data
Group www-data

設定を確認し,必要であれば独自のユーザ名・グループ名に変更します.
ただし,たとえ変更するにしても,rootやログインユーザのアカウントに設定することは避けるべき
万が一,悪意ある攻撃等によりサーバへ侵入された場合,システム全体を乗っ取られる可能性も考えられるため
ここは怖いので確認だけして放置

■ざっくり説明

availableとかenabledって?
sites-availableの方に設定自体を書き込む
有効化したいものだけsites-enabledの方にシンボリックリンクする。
設定ファイルと、その設定の有効無効を分離している。
つまりsites-enabledのシンボリックをはずすと設定ファイルは残るけど、機能が効かなくなる。
という、便利だけど微妙に使いどころに困る設定。
慣れるとこっちの方が良いのかもしらん。