投稿

ラベル(phppgadmin)が付いた投稿を表示しています

Proxmoxでサーバ構築

イメージ
これまでテスト用にi5第8世代の廃棄PCを使用してきた。 とはいえ今の所何も問題は起きていないが、入れ替えも視野に入れ予備サーバを用意することに。 - メモリ:16GB - SSD:500GB - DDNS+Let's Encrypt - Ubuntu24.04 この環境なので、すぐに構築し直すことは可能だが、とりあえずこのまま置いておいて別のサーバを立てることにする。 最初はRaspberryPiで構築しようと思ったけれど、本体電源+外付けHDD電源+ディスプレイ電源と考えると、邪魔なので廃案。 そこで廃棄しようと思っていた「Lavie NS300/N」が手元にあったので、これを利用することに。 一応バッテリーは正常に動作するので、UPS代わりにそのまま。 - Core™ i3-8145U(やや非力) - メモリ:8GB(少ないが…) - HDD:1TB なので、これまで使用しているものより、若干スペックダウン。 ただ用途は、非常勤で教えに行っている専門学校生用の練習マシンとする予定なので、まぁ問題なさそう。 Proxmox導入 直接、Linuxを導入してもよいのだけれど、今回は Proxmox を導入し、その上でUbuntu Serverを動作させる計画。 USBにProxmoxのイメージを焼いて、インストールすれば問題なく完了。 ただ、現在のバージョンはdebian - trixieがベースになっているので、若干参考になるサイトが少なめ。とはいえ旧版のは参考になるので調べつつ… HDDなだけあって、最初の起動は少し遅いものの、立ち上がってしまえば問題ない。 さぁ、VMにするかCTにするか…。 GUI使うのであれば、VMかなぁ。サーバだしCTでいいかぁ。 という程度の選定で、CT(コンテナ)で進めることに。 - メモリ:4GB - CPU:2 - HDD:20GB(root disk) - HDD:400GB(home用) - Ubuntu24.04 という構成で進めることにした。 テンプレートを用意して、初期設定を行い起動。 まぁすんなりと入った。 液晶を閉じたら、Suspendになってしまったので、若干設定変更。 $ sudo nano /etc/systemd/logind.conf HandleLidSwitch=ignore $ sudo sy...

PostgreSQLでEUC_JPのテーブル

イメージ
今さらEUC_JPって感じだけど すでにサーバ環境がUTF-8をデフォルトとするようになって、随分経っているので必要となるケースは少ないんだけど、今回はハマりました。 通常であれば、UTF-8でDBを構築していけば、特に問題もなく引っかかるようなところは何もないのだけれど…。 サーバの移行のため、仕方なくEUC_JPを使うことに。 旧データベースは、プログラムもEUC_JPで構築されている。 プログラムの書き換えは動作検証に時間がかかるので、そのまま動かしたい。 まぁPostgreSQLは文字コードを選べるので、問題ないだろうと…。 サーバにPostgreSQLをインストール これは問題なく、いつも通りapt-getで入れてオシマイ。 何も引っかかるところはありません。 ついでに、phppgadminも入れておく。 これで作業が簡単になる。 旧サーバにも入っているので、確認がしやすいですな。 若干、バージョンが異なっているので、その点だけ要注意と。 さてphppgadminを使ってDBをEUC_JPで作ろうとしたら、上手くいかない。 createdb: database creation failed: ERROR:  encoding EUC_JP does not match locale en_US.UTF-8 見慣れぬエラーですね…。しかもDBは作成してくれない。 何か操作を間違えたのかと、見直すが、特に手順に問題はない。 「ERROR:  encoding EUC_JP does not match locale en_US.UTF-8」でググってみると 、最初に答えが見つかった。 「 名称未設定:Ubuntu12.04LTSのPostgreSQLでEUC_JPのデータベースを作る 」とまんま同じ内容だった。 これによると、 createdb -T template0 -E EUC_JP --locale=C dbname と、localをCで作りなさいということらしい。 試しに、コンソールから試してみると、確かに文句も言われず作成してくれる。 phppgadminでもできるはず  この方法は、postg...

phppgadminで苦戦

イメージ
久しぶりにpostgresqlを触る 以前は、postgresqlばかりだったんだけど、気付けば、最近はMySQLばかり触っていた。 今回依頼のあった案件が、すでにpostgresqlで構築されているものをリプレースするという内容。そのため、自鯖にコピーを作り、開発をすすめることにした。 postgresqlをインストール。 これは、何も問題ない。 $ sudo -s # passwd postgres # sudo - postgres ここまでは、問題ない。 $ sudo apt-get install phppgadmin 手作業での設定は大変なので、GUIツールを入れて利用する。 まぁ、多少の設定は必要だけど、ほとんど何もない。 ローカルIPからの接続を許可する程度。 ブラウザでアクセスする。 http://localhost/phppgadmin はい!OKと…。さすがにあっけない。 バックアップから再構築 お客さんのDBからdump.sql.gzを取り出す。 構造+データなので、一気に復元できるはず。 同じ名前で、DB作って、インポートする。 インポートの場所は、最初戸惑ったけどSQLのところにあるんですねぇ…。(メモメモ) 参照から、先ほど取り込んでおいたdump.sql.gzを解凍してdump.sqlにしてあるものを指定。 実行を押すと…。 「サーバーが指定されていません」って??? 意味が分かりません。 /var/log/apache2/error.log を覗くも、有意義な情報は得られず…。 あれこれ試してみるけれど、dbサーバは動いているし、phppgadminも正常に動いている。 仕方なく、ググってみたら… phpPgAdminで「サーバーが指定されていません!」 なんてそのままのエントリーを発見。 もっと早く、調べればよかった。 php.iniの設定を書き換えろと。 post_max_size = 32M upload_max_filesize = 32M そういうことか。dumpしたデータが大きすぎて、uploadできていなかった訳だ。確認すると、dump.sqlは16.5MBほどある。 圧縮したデータは900KB弱...