web-dev-qa-db-ja.com

Debianでバンドルされたパッケージの代わりにコンパイル済みPHP

私の最終的な目標は、64ビットスクイーズであるDebianボックスに OwnCloud をインストールすることです。

私のセットアップはとても簡単です。 OpenPanel をインストールしました。これにより、APT-GETを介して必要なすべてのLAMPモジュールがインストールされます。これにより、PHP5.3.7がシステムにインストールされ、Apache2がそれを使用するように指示されます。

ただし、OwnCloudではPHPでmbstringを有効にする必要があります。これには、DebianリポジトリにバンドルされているPHPがそうではないように見えるため、--with-mbstring構成オプションを使用して自分のバージョンのPHPをコンパイルする必要があります。それがあり、PHP4で使用されていたようなphp-mbstringphp5-mbstringのようなパッケージはありません。

私はPHP見つかったチュートリアルを使用して ここ をコンパイルし、構成からAPXS2を省略して(私の愛のために動作させることができなかったため)、置き換えました5.2と5.4。ただし、APT-GET(/etc/Apache2内)によってインストールされたApache2はこれを認識せず、「5.3.7」と表示し続けます。

また、最初にPHPをコンパイルしてから、OpenPanelをインストールしようとしましたが、役に立ちませんでした。

OpenPanelを使用すると、顧客がDNS、ドメイン、データベース、およびシェルアクセスを管理するのに役立つため、不可欠です。

私のクライアントはオープンソースのコラボレーションスイートを使用する必要があるため、OpenCloudも必要です。

どうすればこれを達成できますか。

(以前はstackoverflow.comで質問されましたが、そこに属していないことがわかりました。)

5
Milad Naseri

Debianは実際にここであなたを助けることができます--apt-getには、パッケージのソースとビルドの依存関係をダウンロードするためのモードがあり、それを微調整して自分でビルドすることができます。理論的には、セットアップはDebianのリポジトリに含まれているものと同じである必要があるため、Apacheのバージョンとうまく統合する必要があります。

私は当初、これがPHP Magazineで、PHPでコンパイルするGdのバージョンをカスタマイズするために使用していましたが、他のビルドフラグを変更するためにも同じように簡単に使用できます。

http://web.archive.org/web/20101229025544/http://www.phpmag.ru/2009/09/12/ubuntu-9-04-php-5-Gd-2/ ==

元のサイトはもう利用できないので(上のリンクはWay Back Machineを介しています)、ここで手順を再現しています。

# Install build tools, debian helpers and fakeroot
apt-get install build-essential debhelper fakeroot
# Get PHP source (it should go into /usr/src)
cd /usr/src
apt-get source php5
# Install all packages required to build PHP5
apt-get build-dep php5

#Now what we need is to update compile options,
# so we need to edit debian/rules file:
cd php5-5.2.6.dfsg.1
vim debian/rules
# locate the line having "--with-Gd=shared,/usr --enable-Gd-native-ttf \"
# replace with "--with-Gd=shared --enable-Gd-native-ttf \"
# that's remove reference to /usr so that bundled library is used

# compile (drink some coffee, walk you dog, see the latest House episode)
dpkg-buildpackage -rfakeroot

# install the new php5-Gd package
cd ..
dpkg -i php5-Gd_5.2.6.dfsg.1-3ubuntu4.2_i386.deb

# finally restart Apache
/etc/init.d/Apache2 restart

もちろん、実際にコンパイルしているバージョンと一致するようにバージョン番号を変更し、フラグを実際に必要なものに置き換えてください。

2