この記事は、FAMPの例を使用してpfsenseにネイティブではないパッケージをインストールする可能性を検討した私の
出版物の続きです。 この機会には欠陥がないわけではありません:
1.非ネイティブphpパッケージをインストールすると、ネイティブライブラリと依存関係が変更され、phpの警告(無効にすることができます)が発生し、チェックサム検証段階で大規模なネイティブアプリケーションをインストールしようとすると、グリッチが発生します。 さらに、小さなpfsenseアプリケーションは問題なくインストールされました。
2.シェル内でシェルが発生する欠落したBSD起動スクリプトを作成する必要がありました。
3. pfsense webmordとの統合の欠如。
新しい記事では、以降の出版物でプロジェクトをネイティブpfsenseアプリケーションに近づけることにより、上記の欠点を修正しようとします。
最初の欠点は、システム内のすべてのサービスがphp-fpm cliに関連付けられていることですが、同じ欠点を使用してfastcgi経由でWebサーバーでphpを実行することもできます。これにより、Apacheのphp5_moduleが軽減され、サイトのパフォーマンスが向上します。
もう1つの良い点は、純粋な形式のネイティブApacheはありませんが、ApacheベースのModSecurityアセンブリがあるということです。
説明で述べたように、ModSecurityは組み込みまたはリバースプロキシとして機能するように設計されたWebベースのファイアウォールアプリケーションであり、pfsenseがホストするWebサーバーへのリダイレクトに使用されます。
よく調べてみると、このパッケージを特定の操作を使用して本格的なApacheに変換できることが明らかになりました。
合計で、FAMPの2つのコンポーネント、つまりApacheとPHPがあり、これらはpfsenseにネイティブです。
mysqlではより複雑です。ネイティブパッケージには含まれていません。 しかし、高度なphpにはmysql.soという拡張子があります。 mysqlをインストールし、pfsense Webマズルでサービスを開始および停止する機能を組み込みます。
Web管理者で
lighttpdに基づいてwebmordからポート80を解放し、sshdを有効にします。
mod_security_devを使用して最初のApacheパッケージをインストールします
Mysql。 コンソールで
pkg update pkg install mysql56-server
設定ファイル
/usr/local/etc/my.cnfを作成します
[client] port = 3306 socket = /var/tmp/mysql.sock default-character-set = utf8 [mysqld] port = 3306 socket = /var/tmp/mysql.sock init-connect='SET NAMES utf8' collation_server = utf8_unicode_ci character_set_server = utf8 character_set_client = utf8 character_set_filesystem = utf8
ユーザーベースをインストールする
/usr/local/bin/mysql_install_db --basedir=/usr/local --defaults-extra-file=/usr/local/etc/my.cnf --datadir=/var/db/mysql —force
起動スクリプト
/usr/local/etc/rc.d/mysql.shを作成します
実行ビットと権利
chmod 755 /usr/local/etc/rc.d/mysql.sh chown -R mysql:mysql /var/db/mysql
apacheの後に/cf/config.xmlにサービスを追加します
<service> <name>mysql</name> <rcfile>mysql.sh</rcfile> <executable>mysqld</executable> <description><![CDATA[Mysql server]]></description> </service>
設定キャッシュを削除する
rm /tmp/config.cache
私たちはウェブカメラの下に行きます
ステータス-サービス
そして、(開始/停止)mysqlサービスをテストします
PHP スクリプト
/etc/rc.php_ini_setupに追加します
前; 拡張機能
mbstring.internal_encoding = UTF-8 mbstring.func_overload = 2
後; 拡張機能
extension = mysql.so extension = gd.so
以下では、同じファイルでphp-fpmの設定を変更します
listen = /var/run/php-fpm.socket listen.owner = www listen.group = www listen.mode = 0660
Apache設定
Webカメラで、仮想ホストのユーザーを作成します。
システム-ユーザーマネージャー-グループ-wwwグループの追加
[ユーザー]タブ-wwwグループにユーザーbitrixを追加します
システム-パッケージ-FileManagerのインストール
FileManagerを使用して、Webコンテンツのディレクトリ/ home / bitrix / wwwを作成します
サービス-Mod_Security-仮想ホスト-新しいホストを追加します。
有効にする
プロトコル= Http
サーバー名= bitrix.ru
www.bitrix.ruカスタムオプション:
<Directory "/home/bitrix/www"> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all Require all granted </Directory> DirectoryIndex index.php index.html LoadModule proxy_module libexec/apache24/mod_proxy.so LoadModule proxy_fcgi_module libexec/apache24/mod_proxy_fcgi.so ProxyPassMatch ^/(.*\.php(/.*)?)$ unix:/var/run/php-fpm.socket|fcgi://127.0.0.1/home/bitrix/www
再起動して、テストファイル
/home/bitrix/www/test.phpを監視します
<?php phpinfo(); ?>
クライアントマシンで、
/ etc / hostsの編集を忘れないでください
192.168.100.1 bitrix.ru
それだけですが、ほとんどのCMSにはphp55-GDグラフィックパッケージが必要です。
これは、インストール中にphp55自体を含む依存関係をプルしますが、これは良くありません。
したがって、依存関係のみを配置します。
pkg install freetype2 jpeg libxml2 pcre png t1lib libXaw xproto printproto libXpm libXext xextproto libXau libX11 libxcb libXdmcp libpthread-stubs kbproto libXt libSM libICE libXp libXmu
パッケージ自体がシステムのルートで展開します
cd / fetch http://pkg.freebsd.org/freebsd:9:x86:64/latest/All/php55-gd-5.5.22.txz tar xpf php55-gd-5.5.22.txz rm php55-gd-5.5.22.txz
CMSを再起動してインストールします。
fetch http://www.1c-bitrix.ru/download/business_encode_php5.tar.gz tar xpf business_encode_php5.tar.gz
Bitrixの場合、エラーが1つあります。
.Htaccess処理-オフphp-fpmとセキュリティの問題が原因で発生します。 これはBitrix自体の監視です。 エラーを無視します。
実用的なソリューションを得ました。 統合されたpfsenseサービス。 便利なWebベースの管理。