最初、VirtualBoxの共有フォルダー機能を利用してリモートがローカルのファイルを参照していた。
ただ、リモートでのファイル操作に時間がかかってしまうため、リモートにSamba環境を構築しローカルからファイルを参照するように変更した。
環境
- VirtualBox
- CentOS 6.7
- Apache
- SELinux
準備
- プロキシの指定方法
- Remi 導入
説明のために、リモートマシンの設定とeclipseのプロジェクトは以下の通りとする
- リモートマシン
- IPアドレス
192.168.56.1 - Samba 公開ディレクトリ
/var/www - Apache ドキュメントルート
/var/www/html
- IPアドレス
- PHPプロジェクト名
site
- リモートパス
/var/www/html/site - ローカルパス
\\192.168.56.1\www\html\site
- リモートパス
iptables
デフォルトだと5番目のルールでREJECTが適用されているので、それ以前にhttpとSambaをACCEPTするルールを作成する
service iptables stop
vi /etc/sysconfig/iptables
-A INPUT -j REJECT --reject-with icmp-host-prohibited
行より前に以下を追記する
-A INPUT -m state --state NEW -m tcp -p tcp --dport http -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport netbios-ssn -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport netbios-ssn -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport microsoft-ds -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport microsoft-ds -j ACCEPT
iptablesの再起動
service iptables restart
Xdebug
インストール
yum install http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
sed -ie "s/enabled=1/enabled=0/" /etc/yum.repos.d/epel.repo
yum --enablerepo=remi,remi-php56 install php php-pecl-xdebug
xdebug.ini
xdebug.ini
を編集する
cp -ip /etc/php.d/15-xdebug.ini{,.org}
vi /etc/php.d/15-xdebug.ini
; see http://xdebug.org/docs/all_settings
行の後に以下を追記する
/etc/php.d/15-xdebug.ini
; see http://xdebug.org/docs/all_settings
xdebug.default_enable=On
xdebug.remote_autostart=On
xdebug.remote_connect_back=On
xdebug.remote_enable=On
Apacheの再起動
service httpd restart
Samba
インストール
yum install samba
smb.conf
smb.conf
を編集する
cp -ip /etc/samba/smb.conf{,.org}
vi /etc/samba/smb.conf
/etc/samba/smb.conf
[global]
workgroup = WORKGROUP
hosts allow = 192.168.
max protocol = SMB2
#SWAT
display charset = UTF-8
#Samaba
unix charset = UTF-8
#Windows
dos charset = CP932
dos filemode = yes
dos filetime resolution = yes
dos filetimes = yes
security = user
passdb backend = tdbsam
printing = bsd
[www]
path = /var/www
writable = yes
必要最低限の設定なので詳細は他を参考にしてください
ユーザーの追加
ユーザーapache
をSambaユーザーに追加する
pdbedit -a apache
Sambaの起動
service smb start
chkconfig smb on
SELinux 対策
/var/www
以下のディレクトリ・ファイルにはhttpd_sys_content_t
又はhttpd_sys_script_exec_t
タイプのラベルを付けられており、Samba
からアクセスはできません。
そのため、samba_share_t
タイプのラベルが付いていないファイルやディレクトリをSamba
でエクスポートできるようにします。
setsebool -P samba_export_all_rw on
eclipse
- ワークスペース
\\192.168.56.1\www\html
\\192.168.56.1
へはユーザーapache
でアクセス可能
設定
- PHP
- PHP サーバー
- サーバー
ベース URL : http://192.168.56.1 - デバッガー
Debugger : XDebug - パス・マッピング(不要かも)
サーバー上のパス : /var/www/html/site
ローカル・パス : /site
- サーバー
- PHP サーバー
- デバッグ
- CLI設定
CLIデバッグを使用可能にしない
- CLI設定