Ubuntu – ApacheとPHPを入れる

この前からいじっている、Ubuntu2004にApacheとPHPを入れてみた。PHPで小物作った時のテスト環境にと。

まずは、Apacheのインストール

$ sudo apt install apache2

 

yキーを押して、続行。

インストールが終わったら、ブラウザーでサーバのIPを入力、サーバー本体の場合localhostと入力して、以下が表示されれば、Apacheは正常に動作している。

次に、PHPのインストール。Apacheとのつながり部分も入れておく。

$ sudo apt install php libapache2-mod-php

yキーを押して、続行。

次に、あとでmysqlを入れたときの設定に便利なPhpMyadminを使いたいので、mysqlとのつながりや、gdなどのツール類も入れておく。

$ sudo apt install php-fpm php-common php-mbstring php-xmlrpc php-gd php-xml php-mysql php-cli php-zip php-curl php-imagick

その後、インストールが終わったら、一応PHPのバージョンを確認しておく。

$ php -v
PHP 7.4.3 (cli) (built: Oct 6 2020 15:47:56) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies

続いて、追加の設定(rewrite等)とApacheの再起動。

$ sudo a2enmod rewrite
Enabling module rewrite.
To activate the new configuration, you need to run:
systemctl restart apache2

$ sudo systemctl restart apache2

PHPがちゃんと入ったかどうか、テスト。info.phpというファイルをApacheのドキュメントルートに作成。

$ sudo nano /var/www/html/info.php

内容は、phpinfoを実行する簡単なもの。

<?php
phpinfo();
?>

そして、ブラウザーで、サーバーのIP/info.phpを入力して、以下のようなものが表示されたらOK。ipはサーバ本体ならlocalhostでもOK

最後に、PHPの設定をいじる。設定ファイルは、/etc/php/7.4/apache2/php.iniにあるはず。

$ sudo nano /etc/php/7.4/apache2/php.ini

今回は、扱えるファイルの容量を増やしておく。WordPress等でファイルの容量が小さいと困るので。nanoなどのテキストエディタの検索機能を使って、post_max_sizeとupload_max_filesizeを設定。

memory_limit = 128M
post_max_size = 50M
upload_max_filesize = 50M

このphp.iniは色々と設定をいじることもある。今回はこの2点だけで終わり。

最後に念のためapacheの再起動。

$ sudo systemctl restart apache2

今後は、MySQLやphpMyAdmin、WordPressなどを入れてみるかなあ。

 

ぼろサーバ改め新サーバの作成-その9

■PHP関連の追加設定、インストール ◆mbstringのインストール マルチバイト文字セットを使用できるように、mbstring 拡張を入れる。 これがないと phpMyAdmin やnavicatなど、DB関連の管理 … “ぼろサーバ改め新サーバの作成-その9” の続きを読む

■PHP関連の追加設定、インストール

◆mbstringのインストール
マルチバイト文字セットを使用できるように、mbstring 拡張を入れる。
これがないと phpMyAdmin やnavicatなど、DB関連の管理ツール、その他webアプリにて、文字列を正しく分割できないため文字化け等、予期しない結果になることがある。

[root@fedora ~]# yum install php-mbstring
読み込んだプラグイン:presto, refresh-packagekit
インストール処理の設定をしています
依存性の解決をしています
–> トランザクションの確認を実行しています
—> パッケージ php-mbstring.x86_64 0:5.3.2-2.fc13 をインストールに設定しました
–> 依存性解決を終了しました

——– 中略 ————

インストールしました:
php-mbstring.x86_64 0:5.3.2-2.fc13
完了しました!

apacheを再起動して、

<?php
phpinfo();
?>

のファイルにアクセスして、mbstrinがロードされたか確認する。
php.iniでのmbstring関連の設定もする必要がる。これはそのうちに。

◆php-gdのインストール
Nucleusでサムネイルを作成するのに必要なphp-gdをインストールする。
その他、GDライブラリを使うとPHPでJPEG,PNG,GIFなどの画像処理ができます。

[root@fedora ~]# yum install php-gd
読み込んだプラグイン:presto, refresh-packagekit
updates/metalink | 7.6 kB 00:00
インストール処理の設定をしています
依存性の解決をしています
–> トランザクションの確認を実行しています
—> パッケージ php-gd.x86_64 0:5.3.3-1.fc13 をインストールに設定しました
–> 依存性の処理をしています: libt1.so.5()(64bit) のパッケージ: php-gd-5.3.3-1.fc13.x86_64
–> トランザクションの確認を実行しています
—> パッケージ t1lib.x86_64 0:5.1.2-5.fc12 をインストールに設定しました
–> 依存性解決を終了しました
依存性を解決しました

==================== 中略 ====================

トランザクションを実行しています
インストールし : t1lib-5.1.2-5.fc12.x86_64 1/2
インストールし : php-gd-5.3.3-1.fc13.x86_64 2/2
インストールしました:
php-gd.x86_64 0:5.3.3-1.fc13
依存性関連をインストールしました:
t1lib.x86_64 0:5.1.2-5.fc12

apacheを再起動して、

<?php
phpinfo();
?>

のファイルにアクセスして、gdがロードされたか確認する。

ぼろサーバ改め新サーバの作成-その8

■PHPとMySQLのインストールと設定  データベース(MySQL)と、MySQLやブログなどを使うために便利な言語PHPを設定します。Perlでも結構できますし、Javaという選択しもありますが、やはり便利で小回りが … “ぼろサーバ改め新サーバの作成-その8” の続きを読む

■PHPとMySQLのインストールと設定
 データベース(MySQL)と、MySQLやブログなどを使うために便利な言語PHPを設定します。Perlでも結構できますし、Javaという選択しもありますが、やはり便利で小回りがきくPHPがいいのではと思います。

1.まずインストール
・phpのインストール

 [root@fedora ~]# yum install php

・MySQLのインストール

 [root@fedora ~]# yum install mysql
 [root@fedora ~]# yum install mysql-server

・phpとMySQLの接続ツールのインストール

 [root@fedora ~]# yum install php-mysql

・phpのクラスファイルpearのインストール
 MySQLに接続するときに便利なDBやMDB2クラスライブラリが使えるpearが入っているか確かめる。

 [root@fedora ~]# pear list
 bash: pear: コマンドが見つかりません

 こう出たら入っていないので、インストール

 [root@fedora ~]# yum install php-pear

・pearの確認

 [root@Casper ~]# pear list
 Installed packages, channel pear.php.net:
 =========================================
 Package Version State
 Archive_Tar 1.3.5 stable
 Console_Getopt 1.2.3 stable
 PEAR 1.9.0 stable
 Structures_Graph 1.0.3 stable
 XML_RPC 1.5.3 stable
 XML_Util 1.2.1 stable
 pearのクラスのインストールはこの様にする。yumと良く似ている。

 [root@fedora ~]# pear install db
 install ok: channel://pear.php.net/DB-1.7.13

 入ったかどうかlistコマンドで確認

 [root@casper1 ~]# pear list
 Installed packages, channel pear.php.net:
 =========================================
 Package Version State
 Archive_Tar 1.3.5 stable
 Console_Getopt 1.2.3 stable
 DB 1.7.13 stable
 PEAR 1.9.0 stable
 Structures_Graph 1.0.3 stable
 XML_RPC 1.5.3 stable
 XML_Util 1.2.1 stable

 mdb2も入れてみる

 [root@casper1 ~]# pear install mdb2
 install ok: channel://pear.php.net/MDB2-2.4.1

入ったかどうかlistコマンドで確認 

 [root@casper1 ~]# pear list
 Installed packages, channel pear.php.net:
 =========================================
 Package Version State
 Archive_Tar 1.3.5 stable
 Console_Getopt 1.2.3 stable
 DB 1.7.13 stable
 MDB2 2.4.1 stable
 PEAR 1.9.0 stable
 Structures_Graph 1.0.3 stable
 XML_RPC 1.5.3 stable
 XML_Util 1.2.1 stable

 あとは、PHPでMySQLへのアクセス部分を作る時に、続きを設定。

・phpの動作確認
 以下のファイルをサーバに置いて、ブラウザーで表示してみる

 <?php
    phpinfo();
 ?>

・phpのセキュリティ
 phpテスト用フォルダーにLAN外からアクセスできなくする

.htaccessファイルを作成する

 order deny,allow
 deny from all
 allow from localhost
 allow from 192.168.X.X/24

 ※.htaccessファイルを有効にするためには、Apacheのconfファイルをいじる必要がある。
   ドキュメントルート・ユーザディレクトリのディレクトリデレクティブ
     <Directory “/var/www/html”>  か <Directory “/home/*/public-html”>
     内の
       AllowOverride None
     を
       AllowOverride All
     とする。

PHPのインストール

Linuxでは普通に使っているPHPだったが、Windowsでも使ってみたくなって入れてみた。まずは、ダウンロード!!。Linuxならパッケージで入っているので簡単だが、Windowsはそうはいかない。Windowsイン … “PHPのインストール” の続きを読む

Linuxでは普通に使っているPHPだったが、Windowsでも使ってみたくなって入れてみた。
まずは、ダウンロード!!。Linuxならパッケージで入っているので簡単だが、Windowsはそうはいかない。Windowsインストーラ版もあったので試してみたら。うまく動かなかった。Apacheが再起動時落ちる。しかたがないので、Perlと同じように手動で入れてみた。
まずダウンしたPHP一式をフォルダー(c:\PHP)を作り、そこへ移動。
Apacheの設定を変更。これは、インストーラで出来たときの設定があったのでこれを使った。

  1. #BEGIN PHP INSTALLER EDITS – REMOVE ONLY ON UNINSTALL
  2. PHPIniDir “C:/PHP/”
  3. LoadModule php5_module “C:/PHP/php5apache2_2.dll”
  4. #END PHP INSTALLER EDITS – REMOVE ONLY ON UNINSTALL

AddTypeも追加

AddType application/x-httpd-php .php

念の為php5ts.dllもSystem32へコピー
それからPATHの設定も必要なようだが、これもインストーラーを使ったときの設定が生きていたのでそれを使った。
「スタート」>「設定」>「コントロールパネル」>「システム」を開きます。そして「詳細設定」タブの環境変数の所で、PATHを確認。
PHPのPATH確認

C:\>path
PATH=C:\PHP\;C:\Program Files\QuickTime\QTSystem\

そして、

c:\>php -v
PHP 5.2.12 (cli) (built: Dec 16 2009 17:03:10)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies

これが出ればOK
php.iniはphp.ini-recommendedを使った。
phpinfo.phpファイル(内容は以下)作り

ドキュメントルートに置いて、見てみると今度はOK。


pearも使えるようだ。これはコマンドラインから、
php go-pear.bat
をじっこうすると自動的に設定してくれるようだ。
インストールしてすぐは、以下のようになっている。

C:\PHP>php pear list
INSTALLED PACKAGES, CHANNEL PEAR.PHP.NET:
=========================================
PACKAGE VERSION STATE
Archive_Tar 1.3.3 stable
Console_Getopt 1.2.3 stable
PEAR 1.9.0 stable
Structures_Graph 1.0.2 stable
XML_Util 1.2.1 stable


php.iniも自動的に書き換えられた。
;***** Added by go-pear
include_path=”.;C:\PHP\pear;c:\php\includes;d:\php\pear\”
;*****


ううむ、すごい。


その他、php.iniは、


extension_dir = “c:\php\ext”
extension=php_mbstring.dll
mbstring.language = Japanese


などを変更。
mbstringのデフォルト設定はいじっていない。
これは特に必要ないかなあという感じだ。
どうせ、Windowsなので、使うのはしいてゆうならSJISだが、開発テスト用なので、SJISしかつかわないだろう。まあ、文字化けにあったとき考えよう。
さあて、なにかつくってみるかなあ。PHPで作るとき問題なのが、印刷だ。
印刷は3つ位方法がある。
1.webブラウザーに表示して、それをそのまま印刷
2.FPDFなどで、PDFファイルを作り、それを印刷
3.VBやフリーソフトで、印刷部分を分担
どれがいいかなあ。

phpやnucleusで文字化けがひどい時の、mysqlの設定

MySQL設定ファイル編集 [root@fedora ~]# vi /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock … “phpやnucleusで文字化けがひどい時の、mysqlの設定” の続きを読む

MySQL設定ファイル編集

[root@fedora ~]# vi /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1

#追加(MySQLサーバーの文字コードをUTF-8にする
default-character-set = utf8
#追加(MySQLクライアントの文字コードをUTF-8にする)
[mysql]
default-character-set = utf8

PHPでヒヤ

今日大発見をした。PHPでヒヤを書くとき、必ず左端から書かないとエラーになって動かないようだ。 $sql=<<<EOS insert into …. EOS; ↑ここの左に空白タブはだめのよ … “PHPでヒヤ” の続きを読む

今日大発見をした。PHPでヒヤを書くとき、必ず左端から書かないとエラーになって動かないようだ。
$sql=<<<EOS
insert into
….
EOS;
↑ここの左に空白タブはだめのようだ。