DockerFileを作ってみたよ。Xdebug not Fund

2023.07.20

Logging

おはようございます、DockerFileを作ってみたよ。アパッチとPHP、Xdebugをインストール出来るDockerFileです。困ったちゃんになったのは「docker-php-ext-enable」という部分でCommandがないよって言って弾かれることでしたが、ここをググってググってを繰り返して答えが分かりました。

From が間違っていたのです。大体のサイトはDockerにXdebugをインストールする部分を強調してかいているので上手くインストールすることが出来なかったです。恐らくそんな事は当たり前に知っておく事なのかもしれませんがズブの素人には分かりづらかったです。

FROM almalinux:latest
RUN yum -y install httpd
RUN yum -y install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
RUN yum -y module switch-to php:8.1
RUN yum -y install php php-fpm php-gd php-mbstring php-mysqlnd php-pdo php-pear php-pgsql php-devel php-xdebug php-cli
FROM php:8.1-cli
RUN pecl install xdebug-3.2.1 && docker-php-ext-enable xdebug

下記のDockerFileを作りymalと結びつけ下記のCommandを打てばインストール可能になります。因みにPHPのモジュールはお好みに合わして追加してください。

 docker-compose up -d --build

タグ

-Command, d --build, docker, docker-compose up, docker-php-ext-enable, docker-php-ext-enable xdebug, dockerfile, from, FROM almalinux, latest RUN, php, RUN yum, xdebug, y install httpd RUN, y install php php-fpm php-gd php-mbstring php-mysqlnd php-pdo php-pear php-pgsql php-devel php-xdebug php-cli FROM php, yum, アパッチ, ズブ, モジュール, 作りymal,

DockerでWEB開発するならXdebugを最初に入れとこうの巻。

2023.07.16

Logging

おはようございます、DockerでWEB開発するならXdebugを最初に入れとこうの巻。これを途中で入れるということは環境を元に戻すことに繋がるので大変です。特にGitLabやGitHubなどを使用している場合は尚更かと思います、面倒なんですね途中からXdebugを入れるのは本当に。

自分のようにならないように最初からXdebugは入れておく方が大事です、あと開発に使用するポートも事前に聞くべしです。あとからDockerにポート開放は出来ないらしいので大事になります。

ladybug plastic toy
Photo by Mike Bird on Pexels.com

今では枯れた技術になるかもしれない、 VirtualBoxの方がそういう面では後から修正しやすいかと思います。Dockerは独特なのか分かりませんが後からポート開放ダメ、またVScodeで検証するためにはDocker独自に設定をしないといけないので、ポート開放してphp.iniの設定してVscodeでさてトレースとはいかないのです。

DockerのXdebug.iniみたいなのを設定しないと使用できない仕様になっています。因みに今、新たなymlファイルとDockerFileを作ろうとしています。毎回、yumでインストールしている部分があるのでそれをDockerFileで行おうと思っています。

タグ

docker, dockerfile, github, gitlab, Photo by Mike Bird on Pexels.com, php.ini, virtualBOX, VScode, xdebug, Xdebug.ini, Ymlファイル, yum, トレース, ポート, ポート開放, , 最初, 毎回, 途中,

日進月歩でCertbotのインストール仕方が変わっていた話。

2021.07.26

Logging

オリンピックの冒頭の音楽がいじめ問題で差し変わるらしいという話を聞きました。この記事が投稿される時にはオリンピック開会式は終わっている頃ですが・・・?。どうなったでしょうか、気になります。もし完璧な状態でオリンピック開催を向かえる事が出来たら、まさにプロフェッショナルですよ。音楽、映像や振り付けまでも変更しないといけないのに、あと3日しかないですよねぇ・・・超ブラック案件かと思います。

それはさておき、先日ツイートした件を書きますね、Certbotのインストール仕方が変わっていた話です。今までこのコマンドを打てば、 CertbotがインストールされてSSL環境もまぁ簡単に対応できていたのですが、なんだか仕様が変わったらしくてsnapというものをインストールしてからCertbotをインストールしないと駄目なようになっていました。まさに日進月歩だと感じました・・・(*´ω`*)。

yum install certbot
snap install core; sudo snap refresh core
snap install --classic certbot

正直なところ困る?

タグ

, Certbot, install, snap, SSL, yum, インストール, オリンピック, コマンド, ツイート, ブラック, プロフェッショナル, もの, , 仕方, 仕様, , 先日, 冒頭, 問題, 変更, 完璧, 対応, 投稿, 日進月歩, 映像, , 案件, , 状態, 環境, 簡単, 記事, , 開会式, 開催, 音楽, , 駄目,

外部VPSサーバーからさくらレンタルサーバーのDBに接続する方法。

2020.12.04

Logging

外部VPSサーバーからさくらレンタルサーバーのDB(データベース)に接続する方法は下記のコードだけでは上手く動かない。だけど、tmpファイルを生成時にパーティションにu+xの権限を与えればこのコードは要件をみたします。因みにプロセスが残ったままになるので接続が終わったら、プロセスを削除してあげてください。なのでどのプロセスを削除する機能として追加しないと使えないかな?、時間があれば完成したコードをアップします。

なお、変数の初期値はご自身で入れてください。あとポート開放expectが入っていない場合はyumなどでインストールする必要もあります。

<!DOCTYPE html>
<html lang="en">

<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<meta http-equiv="X-UA-Compatible" content="ie=edge">
	<meta name="Description" content="Enter your description here" />
	<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.2/css/bootstrap.min.css">
	<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.0/css/all.min.css">
	<link rel="stylesheet" href="assets/css/style.css">
	<title>ssh sqli</title>
</head>

<body>
	<?php
	print ssh_sqli_connect();
	?>
	<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
	<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.1/umd/popper.min.js"></script>
	<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.2/js/bootstrap.min.js"></script>
</body>

</html>
<?php
function ssh_sqli_connect()
{
	global $dblink,$dbname,$sshuser, $sshhost, $sshpassword,$host,$sshport;
	$ret = null;
	$cmd = "#!/usr/bin/expect -f
set timeout 3
expect -c \"spawn ssh -f -N -L $sshport:$host:3306 $sshuser@$sshhost -oStrictHostKeyChecking=no
expect \\\"$sshuser@$sshhost's password:\\\"
send \\\"$sshpassword\\n\\\"
\"
";

	$tmpfname = tempnam(sys_get_temp_dir(), 'ssh');

	$handle = fopen($tmpfname, "w");
	fwrite($handle, $cmd);
   	shell_exec("sh $tmpfname");
	sleep(3);
	$dblink = db_connect();
	try{
		for($id = 1 ;$id<=99;$id++){
			$ret = $dblink->query("SELECT * FROM $dbname.X.xtbl where $dbname.X.xtbl.id=$id;");
			if ($cnt = (int) mysqli_num_rows($ret)) {
			  $row = mysqli_fetch_assoc($ret);
			  print ($row["id"].", ".$row["name"]);
			}
		}
	}catch(PDOException $e){
		echo "失敗: " . $e->getMessage() . "\n";
	}

	fclose($handle);
	unlink($tmpfname);

	db_close();
	return "未完成";
}

function db_connect()
{
	global $dblink, $host, $user, $password, $dbname,$sshport;
	try {
		$dblink = new  mysqli("127.0.0.1", "$user", $password, $dbname ,$sshport);
		//$dblink->set_charset("utf8");
		return $dblink;
	} catch (PDOException $e) {
		echo "接続失敗: " . $e->getMessage() . "\n";
	}
}

function db_close()
{
	global $dblink;
	$dblink->close();
}

タグ

8, charset, db, DOCTYPE, en, expect, gt, head, html, lang, lt, meta, name, quot, tmp, UTF-, vie, VPS, yum, アップ, インストール, コード, ご自身, サーバー, さくら, データベース, パーティション, ファイル, プロセス, ポート, まま, レンタル, 下記, 初期, 削除, 場合, 変数, 外部, 完成, 必要, 接続, 方法, 時間, 権限, 機能, 生成, 要件, 追加, 開放,

VirtualBoxで共有フォルダ設定とApacheが表示されるまで。

2020.11.29

Logging

前処理としてこのコマンドを打つ。

yum -y groupinstall "Development Tools"
yum -y update kernel
yum -y install kernel-devel kernel-headers gcc gcc-c++

起動したらメニューから[デバイス]-[Guest Additions CDイメージの挿入]

mount /dev/cdrom /mnt
cd /mnt
./VBoxLinuxAdditions.run

reboot
cd /var/www/
ln -s マウント先 sf_html
gpasswd -a oreore vboxsf
gpasswd -a apache vboxsf

mount -t vboxsf -o dmode=0755,fmode=0755 (共有名) (マウント先)

reboot

Apacheのconfig設定ではリンク先はシンボルリンクを参照させとこう、これでリブートさせて完了やねん。さてこれで理解できたら、あなたは凄いです。これは単なるメモ書き記載なので、わからないと思います。

なので、参考にしたサイトのリンクを貼っときます。
http://itemy.net/?p=1355
https://www.codelab.jp/blog/?p=2587

これらでおそらく大体の人が理解できたと思います。

タグ

-o, -s, -t, -y, 0755, A`, Additions, Apache, cd, cdrom, dev, Development, dmode, fmode, gcc, gcc-c, gpasswd, groupinstall, Guest, html, install, kernel, kernel-devel, kernel-headers, ln, mnt, mount, oreore, quot, reboot, run, SF, Tools, UPDATE, var, VBoxLinuxAdditions, vboxsf, virtualBOX, www, yum, イメージ, コマンド, デバイス, フォルダ, マウント, メニュー, 共有, 前処理, 挿入, 表示, 設定, 起動,

pip3がうまく動かない(´・ω・`)v

2020.04.30

Logging

pipがうまく動かないときの対応。下記の3点が入っていないとpython3をインストールしたとしてもpipが動かないそうだ。これが分かるまでに2時間を費やした時間を返してください(´・ω・`)v

yum install -y openssl-devel
yum install -y libffi-devel
yum install -y zlib-devel
https://www.youtube.com/watch?v=mVAQTrLLJzw

ちなみにPython3のインストールは下記のURLの説明を参考しました。ソースコードをビルドしインストールしている。こうすることでバージョンの使い分けができる。PHPは慣れたもので簡単に使い分けできるですけどね・・・。PythonはPythonは・・・。

https://www.youtube.com/watch?v=nmTJ2DgYuEw

最後にソースコードをビルドしてインストールしてpipを使用する場合、pip3で動かない場合はpip3.8とか試してみてくださいね。

コピペでWEBスクレイピングしてみた動画をUPしています。ちなみにpython 初心者vlogをアップして駄目駄目さ見せつけています。PHPはスイスイ?と出来るのですがPythonはズブの素人です。

徐々に上達するでしょう。

タグ

-y, 2, , 3.8, install, libffi-devel, openssl-devel, php, pip, Python, UP, url, , web, yum, zlib-devel, インストール, コード, こと, コピペ, これ, してい, スク, ソース, とき, バージョン, ビルド, ピング, もの, レイ, 下記, 使用, 動画, 参考, 場合, 対応, 時間, 最後, 簡単, 説明,

プロセス残してSSHログアウトする方法。

2018.11.11

Logging

screenっていうコマンドを使用するとプロセス残してSSHログアウトする事ができます。ちなみにscreenというコマンドは仮想ウィンドが立ち上げる機能です。
まずscreenをインストールし、実行したいコマンドを実行します。
実行すると仮想ウィンドが立ち上がります。
立ち上がっている画面の確認はlsで確認することが可能。
その画面を読み込むときは-r を使用します。
lsで表示されているプロセスID(PID)を記入してコマンドを実行することで再接続することが可能となります。
追記:こんな方法もあります。
Linuxでプロセス残すなら!

yum -y install screen
screen php test.php
screen -ls
screen -r PID

タグ

-r, -y, ID, install, Linux, ls, php, PID, screen, SSH, test, yum, インストール, ウィンド, こと, コマンド, とき, プロセス, ログアウト, , 仮想, 使用, 可能, 実行, 接続, 方法, 機能, 画面, 確認, 表示, 記入, 追記,

機械学習:ディープラーニング(TensorFlow)をインストールしてみた。

2017.03.24

Logging

yum -y install python
yum -y install python-pip python-dev python-virtualenv
export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.11.0-cp27-none-linux_x86_64.whl
pip install --upgrade $TF_BINARY_URL
python -m tensorflow.models.image.mnist.convolutional

https://www.tensorflow.org/versions/r0.11/get_started/os_setup#using-pip
上記を参照に機械学習:ディープラーニング(TensorFlow)をインストールしてみてください。
試しにイメージ学習(数字)をさせます。最初はエラー率が高いのですが徐々にエラー率が減っていきます。
自分はあまりメモリもCPUも積んでいない仮想サーバでしたが、何とか動きましたが
本気で機械学習をさせたい場合などは、それなりにCPUとメモリを積んでいないと
レンタルサーバー会社からサーバ負荷のため、停止させられる可能性がありますので
注意しないといけない点かもしれません。
学習後、数字の画像を与えるとで詰まるという方は、いろいろな本が出ているので
片っ端から読破するか、Netで調べるかになります。ちなみに今、じぶんは
片っ端から読破する方法を選びました。そこで気づいたのは、Pythonの言語を理解したほうが
良いということです。ノードが機械学習をする上で鍵になります!!
ということで?
時期を置いて続きを別記事として公開しますね。
!!(T_T)
https://github.com/tensorflow

タグ

AM, B01IT509EY, export TF_BINARY_URL, m tensorflow.models.image.mnist.convolutional, NextPublishing, pip install, y install python-pip python-dev python-virtualenv, yum, エラー率, サーバ負荷, ディープラーニング, ノード, メモリ, レンタルサーバー会社, 仮想サーバ, 別記事, 数字, 最新Googleマシンラーニング, 機械学習, 片っ端,

Gitサーバを構築するという事になり。

2016.01.04

Logging


大晦日から元旦かけて、会社でGitサーバを構築するいう事になり勉強をしていました。
Gitサーバを立ち上げようと発案したのは自分、じぶんが発案者なので
勉強するのも道理だろうとGitサーバを勉強しました。
結論から言えば出来たのですが、いまいち完璧に
理屈がわかったのではなく、こうすればMacでもWindowsでも
動くという事がわかっただけです。
ちなみに構築方法はそのうち掲載します・・・・うそ。
ってそれほど難しい話ではなかったので掲載します。

#------------Git------------------------
yum -y install git
git config --global core.quotepath false
git config --global color.diff auto
git config --global color.status auto
git config --global color.branch auto
cd /var/wwww/html
git init --shared=true
git status
git add .
git commit -m 'new'
git config --bool core.bare true
git config --get-all core.bare
#-------------Key-------------------
ssh-keygen -t rsa
cd /root/.ssh
cp id_rsa /var/www/html

まず、初めにGitサーバをインストールします。
だいたい、初期の状態でインストールされています。
次にGit(ギット)のコンフィグの設定を行い、リポジトリを作成したい
階層まで行きリポジトリを作成します。addし後にコミットして完了です。
こちらがリモートリポジトリになります。
そしてローカル側にもGitをインストールします。
例えば、sourcetreeなどをWindowsにインストールします。
(※GUIでインストールを行ってください。CUIではなく:真ん中の選択肢を押下?)
まず最初に先ほど作成したsshのkey(秘密鍵?公開鍵?=id_rsa)を
ローカルにダウンロードします、その後、puttygen.exeなどを使いppkに
変換を行います。(ppk変換方法はこちら
次にsourcetreeの初期設定としてkeyの登録を行います。
先ほどppkに変換したファイルを参照します(ツール→オプション)。


参照後、新規/クローンを選択しリモートリポジトリとローカルリポジトリ作成場所を
選択してクローンの作成を行います。

タグ

-y, auto, branch, color, config, core, diff, false, git, global, install, Mac, quotepath, status, Windows, yum, いまいち, ウソ, うち, サーバ, じぶん, , 会社, 元旦, 勉強, 大晦日, 完璧, 掲載, 方法, 構築, 理屈, 発案, 発案者, 結論, 自分, , 道理,

レンタルサーバさくらVPSでWEBサーバを構築するメモ書き。

2015.11.19

Logging


レンタルサーバさくらVPSでWEBサーバを構築するメモ書き。

yum -y install httpd
yum -y install php
#iptablesの設定はさくらのサポート等を参照
#mysqlのmariadbはググッてください(下記参照など)。
firewall-cmd --add-service=http
firewall-cmd --permanent --add-service=http
firewall-cmd --add-service=mysql
firewall-cmd --permanent --add-service=mysql
systemctl restart firewalld
systemctl start httpd
systemctl enable httpd

iptablesの設定

https://help.sakura.ad.jp/app/answers/detail/a_id/2423

mysqlのmariadbの設定
http://qiita.com/akito1986/items/98a8430d936b293cb354
これだけでWEBサーバが起動できます。
PHPの拡張をインストールしないといけない場合があります。
その他、rubyやPythonなどもインストールする事は可能です。
 

タグ

--add-service, --permanent, , AM, firewall-cmd, iptables, mariadb, MYSQL, Python, systemctl enable httpd, systemctl restart firewalld, systemctl start httpd, WEBサーバ, y install httpd, y install php, yum, ググッ, メモ書き, レンタルサーバさくらVPS, 下記参照, 拡張, 設定,

httpingのインストール方法。centOS7

2015.07.26

Logging

httpingのインストール方法ですけど。wgetを使用してダウンロードしインストールするだけでOKです。しかし、gccがインストールされていないとエラーが出てしまいますのでgccもインストールしないといけないです。まず、gccをインストールします。その後、httpingをインストールするとすんなりとインストール出来るはずです。

yum -y install gcc
wget http://www.vanheusden.com/httping/httping-2.3.4.tgz
tar xfz httping-2.3.4.tgz
cd httping-2.3.4
make install
httping https://www.google.co.jp

ちなみにwgetがインストールされていないとダウンロードすることが出来ませんのでこちらもインストールする事もお忘れなく。

yum -y install wget

タグ

-y, 2.3.4, 7, cd, centOS, com, gcc, http, httping, install, Make, OK, tar, tgz, vanheusden, wget, www, xfz, yum, インストール, エラー, こちら, こと, ダウンロード, パス, , 使用, , 方法,

さくらのVPSを使ってみた。標準OSインストールは初心者におすすめ。

2015.04.04

Logging

さくらVPSを使ってみた。さくらVPSをレンタルして標準OSインストールしてみました。インストール後、root権限でログインしてApacheをインストール(yum install httpd )してみたら、そのままの状態でWEBが表示された・・・・。ポートの開放とかの設定はしなくても良かったです。標準OSのセキュリティの設定でゴニョゴニョされていて特にWEBで使う分にはiptablesを触らなくても良さそうでした。インストール後、phpをインストールしてhttpdのconfig設定を変更して再起動すればphpが実行できる環境になりますから、あとはMysqlをインストールしたい方は、インストールしてゴニョゴニョ設定するだけでWEB環境を整います。あとは、ftpを使用したい方はインストール(yum install vsftpd)すれば良いだけです。FTP経由かSSH経由でコードをアップロードすればサイトを構築できてしまいます。
 

タグ

Apache, config, FTP, httpd, install, iptables, MYSQL, OS, php, root, SSH, VPS, vsftpd, web, yum, アップロード, あと, いま, インストール, おすすめ, コード, ゴニョゴニョ, サイト, さくら, さくらの, セキュリティ, そのまま, ポート, レンタル, ログイン, 使用, 再起動, , 初心者, 変更, 実行, , 構築, 標準, 権限, 状態, 環境, 経由, 表示, 設定, 開放,