<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>YdlProg</title>
	<atom:link href="https://ydlprog.ddns.net/feed/" rel="self" type="application/rss+xml" />
	<link>https://ydlprog.ddns.net</link>
	<description>プログラマーが日々得た知識のメモ</description>
	<lastBuildDate>Sun, 15 Mar 2026 16:38:03 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<item>
		<title>Ripple Map Generator(Blender Addon)</title>
		<link>https://ydlprog.ddns.net/2026/03/08/ripple-map-generatorblender-addon/</link>
					<comments>https://ydlprog.ddns.net/2026/03/08/ripple-map-generatorblender-addon/#respond</comments>
		
		<dc:creator><![CDATA[ydlprog]]></dc:creator>
		<pubDate>Sun, 08 Mar 2026 10:30:36 +0000</pubDate>
				<category><![CDATA[Addon]]></category>
		<category><![CDATA[Blender]]></category>
		<guid isPermaLink="false">https://ydlprog.ddns.net/?p=2551</guid>

					<description><![CDATA[はじめに 以下のマテリアルで使う、雨の波紋用のテクスチャを作るためだけのアドオンRain Ripples Shader &#8211; UE4 Materials 101 &#8211; Episode 16Water  [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">はじめに</h2>



<p>以下のマテリアルで使う、雨の波紋用のテクスチャを作るためだけのアドオン<br><a rel="noopener" target="_blank" href="https://www.youtube.com/watch?v=ABWzKYc6UQ0&amp;list=PL78XDi0TS4lFlOVKsNC6LR4sCQhetKJqs&amp;index=16">Rain Ripples Shader &#8211; UE4 Materials 101 &#8211; Episode 16</a><br><a rel="noopener" target="_blank" href="https://seblagarde.wordpress.com/2013/01/03/water-drop-2b-dynamic-rain-and-its-effects">Water drop 2b – Dynamic rain and its effects</a></p>



<h2 class="wp-block-heading">使い方</h2>



<p>アドオンをインストールし、RainRipples.blend を開くと、3Dビューポートのサイドバーに「RippleMap」タブが追加されます<br></p>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="233" height="334" src="https://ydlprog.ddns.net/wp-content/uploads/2026/03/image.png" alt="" class="wp-image-2554" srcset="https://ydlprog.ddns.net/wp-content/uploads/2026/03/image.png 233w, https://ydlprog.ddns.net/wp-content/uploads/2026/03/image-209x300.png 209w" sizes="(max-width: 233px) 100vw, 233px" /></figure>



<p>説明が必要なパラメータはないので省きます。波紋の大きさは 0.10=10%。<br>生成で円錐が生成されたら、レンダリングして、画像をOpenEXR形式で保存します。<br>テクスチャサイズは出力パネルで変えてください。256px や 512px で十分です。</p>



<h2 class="wp-block-heading">ダウンロード</h2>



<p><a href="https://ydlprog.ddns.net/wp-content/uploads/2026/03/RippleMapGenerator_v101.zip">RippleMapGenerator_v101.zip</a><br><a href="https://ydlprog.ddns.net/wp-content/uploads/2026/03/RainRipples.blend">RainRipples.blend</a></p>



<h2 class="wp-block-heading">更新情報</h2>



<p>Ver 1.0.1</p>



<ul class="wp-block-list">
<li>スライダーが使いづらいのでMin, Max値を1000倍</li>
</ul>



<p>Ver 1.0.0</p>



<ul class="wp-block-list">
<li>最初のバージョン</li>
</ul>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://ydlprog.ddns.net/2026/03/08/ripple-map-generatorblender-addon/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>DockerでDokuWikiの起動</title>
		<link>https://ydlprog.ddns.net/2025/11/22/docker%e3%81%a7dokuwiki%e3%81%ae%e8%b5%b7%e5%8b%95/</link>
					<comments>https://ydlprog.ddns.net/2025/11/22/docker%e3%81%a7dokuwiki%e3%81%ae%e8%b5%b7%e5%8b%95/#respond</comments>
		
		<dc:creator><![CDATA[ydlprog]]></dc:creator>
		<pubDate>Sat, 22 Nov 2025 10:26:58 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[DokuWiki]]></category>
		<guid isPermaLink="false">https://ydlprog.ddns.net/?p=2517</guid>

					<description><![CDATA[コンテナ作成ファイル compose.yaml の作成 Official イメージだと、dokuwiki/lib にあるテーマの差し替えが難しかったため、linuxserver.io 版を使用します サブディレクトリ運用 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">コンテナ作成ファイル compose.yaml の作成</h2>



<p>Official イメージだと、dokuwiki/lib にあるテーマの差し替えが難しかったため、linuxserver.io 版を使用します</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-docker" data-file="compose.yaml " data-lang="Docker"><code>services:
  dokuwiki:
    image: lscr.io/linuxserver/dokuwiki:latest
    container_name: dokuwiki
    ports:
      - 30080:80
    volumes:
      - ./data:/config
    environment:
      - TZ=Asia/Tokyo
      - PUID=1000
      - PGID=1000
    restart: always</code></pre></div>



<h2 class="wp-block-heading">サブディレクトリ運用の設定</h2>



<p>サブディレクトリ運用の場合は、local.php に以下の行を書き足します</p>



<div class="hcb_wrap"><pre class="prism off-numbers lang-plain" data-file="data/dokuwiki/conf/local.php"><code>$conf[&#39;basedir&#39;] = &#39;/dokuwiki/&#39;;</code></pre></div>



<h2 class="wp-block-heading">DokuWiki のセットアップ</h2>



<p>install.php にアクセスして DokuWiki のセットアップを完了させます<br>バックアップから復元する場合も同様</p>



<h2 class="wp-block-heading">バックアップの復元について</h2>



<p>バックアップからの復元は、<a rel="noopener" target="_blank" href="https://www.dokuwiki.org/ja:faq:backup">公式</a>に従い以下のフォルダをコピーします<br>ただし、conf については php が含まれるためコピーしません</p>



<figure class="wp-block-flexible-table-block-table is-style-stripes has-small-font-size"><table class="" style="width:auto;max-width:none"><tbody><tr><td>data/pages</td><td>現在のページ</td></tr><tr><td>data/meta</td><td>ページのメタ情報(最初の作成者、メール通知の登録者、等)</td></tr><tr><td>data/media</td><td>現在のメディアファイル(画像、PDF、等)</td></tr><tr><td>data/media_meta</td><td>メディアファイルのメタ情報</td></tr><tr><td>data/attic</td><td>ページの古いバージョン全て</td></tr><tr><td>data/media_attic</td><td>メディアファイルの古いバージョン全て</td></tr></tbody></table></figure>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://ydlprog.ddns.net/2025/11/22/docker%e3%81%a7dokuwiki%e3%81%ae%e8%b5%b7%e5%8b%95/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>DockerでGitLabの起動</title>
		<link>https://ydlprog.ddns.net/2025/11/16/docker%e3%81%a7gitlab%e3%81%ae%e8%b5%b7%e5%8b%95/</link>
					<comments>https://ydlprog.ddns.net/2025/11/16/docker%e3%81%a7gitlab%e3%81%ae%e8%b5%b7%e5%8b%95/#respond</comments>
		
		<dc:creator><![CDATA[ydlprog]]></dc:creator>
		<pubDate>Sun, 16 Nov 2025 05:59:04 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[GitLab]]></category>
		<guid isPermaLink="false">https://ydlprog.ddns.net/?p=2497</guid>

					<description><![CDATA[コンテナ作成ファイル compose.yaml の作成 データを移行する場合は、Upgrade Path に従い、順番にアップデートする必要があります初回起動は15分程度の時間がかかる場合があります サブディレクトリ運用 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">コンテナ作成ファイル compose.yaml の作成</h2>



<p>データを移行する場合は、<a rel="noopener" target="_blank" href="https://gitlab-com.gitlab.io/support/toolbox/upgrade-path/">Upgrade Path</a> に従い、順番にアップデートする必要があります<br>初回起動は15分程度の時間がかかる場合があります<br><br>サブディレクトリ運用なら、external_url を設定<br>ssh ポートを変更するなら、gitlab_rails[&#8216;gitlab_shell_ssh_port&#8217;] も設定</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-docker" data-file="compose.yaml" data-lang="Docker"><code>services:
  gitlab:
    #image: gitlab/gitlab-ce:17.9.1-ce.0
    #image: gitlab/gitlab-ce:17.11.7-ce.0
    #image: gitlab/gitlab-ce:18.2.8-ce.0
    image: gitlab/gitlab-ce:18.5.2-ce.0
    container_name: gitlab
    ports:
      - &quot;22022:22&quot;
      - &quot;22080:80&quot;
      - &quot;22443:443&quot;
    volumes:
      - ./gitlab/config:/etc/gitlab
      - ./gitlab/logs:/var/log/gitlab
      - ./gitlab/data:/var/opt/gitlab
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url &#39;https://ydlprog.ddns.net/gitlab/&#39;
        gitlab_rails[&#39;gitlab_shell_ssh_port&#39;] = 22022
    restart: always</code></pre></div>



<h2 class="wp-block-heading">root passwordの確認</h2>



<div class="hcb_wrap"><pre class="prism off-numbers lang-plain"><code>docker exec -it gitlab grep &quot;Password&quot; /etc/gitlab/initial_root_password</code></pre></div>
]]></content:encoded>
					
					<wfw:commentRss>https://ydlprog.ddns.net/2025/11/16/docker%e3%81%a7gitlab%e3%81%ae%e8%b5%b7%e5%8b%95/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>DockerでWordPressの起動</title>
		<link>https://ydlprog.ddns.net/2025/11/12/docker%e3%81%a7wordpress%e3%81%ae%e8%b5%b7%e5%8b%95/</link>
					<comments>https://ydlprog.ddns.net/2025/11/12/docker%e3%81%a7wordpress%e3%81%ae%e8%b5%b7%e5%8b%95/#respond</comments>
		
		<dc:creator><![CDATA[ydlprog]]></dc:creator>
		<pubDate>Tue, 11 Nov 2025 16:37:58 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[Wordpress]]></category>
		<guid isPermaLink="false">https://ydlprog.ddns.net/?p=2448</guid>

					<description><![CDATA[変数設定ファイル .env の作成 データベース接続情報を、.env ファイルに記述公開するなら必ず変更する事 コンテナ作成ファイル compose.yaml の作成 個人的に MariaDB の方が好きなので、MySQ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">変数設定ファイル .env の作成</h2>



<p>データベース接続情報を、.env ファイルに記述<br>公開するなら必ず変更する事</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-file=".env" data-lang="Bash"><code># DB設定
DB_ROOT_PASSWORD=rootpass
DB_USER=user
DB_PASSWORD=password

# Port設定
HTTP_PORT=80
HTTPS_PORT=443</code></pre></div>



<h2 class="wp-block-heading">コンテナ作成ファイル compose.yaml の作成</h2>



<p>個人的に MariaDB の方が好きなので、MySQL ではなく MariaDB を使ってます</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-docker" data-file="compose.yaml" data-lang="Docker"><code>services:
  db:
    image: mariadb:latest
    container_name: wordpress_db
    volumes:
      - ./data/mariadb:/var/lib/mysql
    restart: always
    environment:
      MYSQL_DATABASE: wordpress
      MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
      MYSQL_USER: ${DB_USER}
      MYSQL_PASSWORD: ${DB_PASSWORD}

  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    container_name: wordpress_web
    ports:
      - &quot;${HTTP_PORT}:80&quot;
      - &quot;${HTTPS_PORT}:443&quot;
    volumes:
      - ./data/html:/var/www/html
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_NAME: wordpress
      WORDPRESS_DB_USER: ${DB_USER}
      WORDPRESS_DB_PASSWORD: ${DB_PASSWORD}</code></pre></div>



<h2 class="wp-block-heading">WordPressの起動</h2>



<p>コンテナを起動し、ブラウザから WordPress の設定を行います</p>



<div class="hcb_wrap"><pre class="prism off-numbers lang-plain"><code># docker compose up -d</code></pre></div>



<h2 class="wp-block-heading">PHPの制限設定</h2>



<p>コンテナを起動すると、data/html/.htaccess が作成されるので、変更したい PHP の値を記載します</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-file="data/html/.htaccess" data-lang="Bash" data-line="15-16"><code># BEGIN WordPress
# The directives (lines) between &quot;BEGIN WordPress&quot; and &quot;END WordPress&quot; are
# dynamically generated, and should only be modified via WordPress filters.
# Any changes to the directives between these markers will be overwritten.
&lt;IfModule mod_rewrite.c&gt;
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
&lt;/IfModule&gt;

php_value upload_max_filesize 512M
php_value post_max_size 512M

# END WordPress</code></pre></div>
]]></content:encoded>
					
					<wfw:commentRss>https://ydlprog.ddns.net/2025/11/12/docker%e3%81%a7wordpress%e3%81%ae%e8%b5%b7%e5%8b%95/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>DockerでFileServer(Samba)の起動</title>
		<link>https://ydlprog.ddns.net/2025/11/09/docker%e3%81%a7fileserversamba%e3%81%ae%e8%b5%b7%e5%8b%95/</link>
					<comments>https://ydlprog.ddns.net/2025/11/09/docker%e3%81%a7fileserversamba%e3%81%ae%e8%b5%b7%e5%8b%95/#respond</comments>
		
		<dc:creator><![CDATA[ydlprog]]></dc:creator>
		<pubDate>Sat, 08 Nov 2025 15:01:42 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Docker]]></category>
		<guid isPermaLink="false">https://ydlprog.ddns.net/?p=2425</guid>

					<description><![CDATA[共有フォルダの作成 コンテナ作成ファイル compose.yaml の作成 複数ユーザの記載例パスワードは平文でしか書けません]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">共有フォルダの作成</h2>



<div class="hcb_wrap"><pre class="prism off-numbers lang-plain"><code># mkdir -p /home/docker/samba/shares
# chmod -R 777 /home/docker/samba/shares
# chown -R nobody:nogroup /home/docker/samba/shares</code></pre></div>



<h2 class="wp-block-heading">コンテナ作成ファイル compose.yaml の作成</h2>



<p>複数ユーザの記載例<br><span class="bold-red">パスワードは平文でしか書けません</span></p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-docker" data-file="compose.yaml" data-lang="Docker"><code>services:
  samba:
    image: dperson/samba:latest
    container_name: samba
    volumes:
      - /home/docker/samba/shares:/home/shares/samba
    ports:
      - &quot;139:139&quot;
      - &quot;445:445&quot;
    stdin_open: true
    tty: true
    environment:
      - TZ=Asia/Tokyo
      - USERID=65534    # nobody
      - GROUPID=65534   # nogroup
      - USER1=foo;123
      - USER2=bar;abc
        # name;path;browse;readonly;guest;users
      - SHARE1=pub;/home/shares/samba/pub;yes;no;no;foo,bar
      - SHARE2=foo;/home/shares/samba/foo;yes;no;no;foo
      - SHARE3=bar;/home/shares/samba/bar;yes;no;no;bar
    restart: always</code></pre></div>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://ydlprog.ddns.net/2025/11/09/docker%e3%81%a7fileserversamba%e3%81%ae%e8%b5%b7%e5%8b%95/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>DockerでSFTPの起動</title>
		<link>https://ydlprog.ddns.net/2025/11/02/docker%e3%81%a7sftp%e3%81%ae%e8%b5%b7%e5%8b%95/</link>
					<comments>https://ydlprog.ddns.net/2025/11/02/docker%e3%81%a7sftp%e3%81%ae%e8%b5%b7%e5%8b%95/#respond</comments>
		
		<dc:creator><![CDATA[ydlprog]]></dc:creator>
		<pubDate>Sun, 02 Nov 2025 10:18:02 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Docker]]></category>
		<guid isPermaLink="false">https://ydlprog.ddns.net/?p=2372</guid>

					<description><![CDATA[はじめに 今回は /home/docker/sftp の下に環境を作りますパーミッションの設定をしくじると、繋がらない、書き込みできないので注意が必要 ユーザー情報 users.conf の作成 ユーザー名:パスワードを [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">はじめに</h2>



<p>今回は /home/docker/sftp の下に環境を作ります<br><span class="bold-red">パーミッションの設定をしくじると、繋がらない、書き込みできないので注意が必要</span></p>



<h2 class="wp-block-heading">ユーザー情報 users.conf の作成</h2>



<p>ユーザー名:パスワードを必要数分記述</p>



<div class="hcb_wrap"><pre class="prism off-numbers lang-plain" data-file="users.conf"><code>foo:123
bar:abc</code></pre></div>



<h2 class="wp-block-heading">コンテナ作成ファイル compose.yaml の作成</h2>



<p><span class="bold-red">7,8行目の、foo, bar の部分はユーザーの数だけ記述する必要があります</span></p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-docker" data-file=" compose.yaml " data-lang="Docker" data-line="7,8"><code>services:
  sftp:
    image: atmoz/sftp:latest
    container_name: sftp
    volumes:
      - /home/docker/sftp/users.conf:/etc/sftp/users.conf:ro
      - /home/docker/sftp/data/foo:/home/foo/upload
      - /home/docker/sftp/data/bar:/home/bar/upload
    ports:
      - &quot;2222:22&quot;
    # 接続に時間ががかる対策
    # https://github.com/atmoz/sftp/issues/341
    ulimits:
      nofile:
        soft: 65536
        hard: 65536
    # 自動起動
    restart: always</code></pre></div>



<h2 class="wp-block-heading">共有フォルダの作成</h2>



<div class="hcb_wrap"><pre class="prism off-numbers lang-plain"><code># mkdir -p /home/docker/sftp/data
# chmod -R 777 data</code></pre></div>



<h2 class="wp-block-heading">Dockerコンテナの起動</h2>



<div class="hcb_wrap"><pre class="prism off-numbers lang-plain"><code># docker compose up -d
# chmod -R 777 data/*</code></pre></div>



<h2 class="wp-block-heading">コンテナ再起動用スクリプト</h2>



<div class="hcb_wrap"><pre class="prism off-numbers lang-bash" data-file="mk-sftp.sh " data-lang="Bash"><code>#! /bin/bash

ContainerName=&#39;sftp-server&#39;

# 共有フォルダの作成
mkdir -p /home/docker/sftp/data
chmod 777 data

echo コンテナ削除
docker stop ${ContainerName}
docker rm ${ContainerName}

echo コンテナ作成と起動
docker compose up -d
chmod 777 data/*

echo Finish!</code></pre></div>



<h2 class="wp-block-heading">ユーザー情報のパスワードをハッシュ化</h2>



<p>パスワードを平文ではなく、ハッシュで保存するには</p>



<div class="hcb_wrap"><pre class="prism off-numbers lang-plain"><code># openssl passwd -6 パスワード
$6$cMfxL7iiNcFzXg6Y$7PL3BcJ5C4zSbC00OUMN2s0F21wI7NzF4hMH/qW9npR.SoT10uB4wd/QVcrurLsAn7ob4TJieCt24lzrlf1LH.</code></pre></div>



<p>openssl でハッシュを求め、users.conf に :e をつけて記述します</p>



<div class="hcb_wrap"><pre class="prism off-numbers lang-plain" data-file="users.conf"><code>foo:$6$cMfxL7iiNcFzXg6Y$7PL3BcJ5C4zSbC00OUMN2s0F21wI7NzF4hMH/qW9npR.SoT10uB4wd/QVcrurLsAn7ob4TJieCt24lzrlf1LH.:e
bar:abc</code></pre></div>



<h2 class="wp-block-heading">ユーザー追加スクリプトの作成</h2>



<p>面倒くさいので、ユーザーを追加し users.conf に追記と、利用者に教えるパスワードを表示するスクリプトを作成<br><span class="bold-red">compose.yaml のマウントフォルダの追加はされないので、手作業で</span></p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-bash" data-file="add_sftp_usr.sh " data-lang="Bash"><code>#! /bin/bash

# ユーザ名が引数で指定されているか判定
if [ -n &quot;$1&quot; ]; then
    USER=&quot;$1&quot;
else
    echo
    echo &quot;sftp用ユーザの追加&quot;
    echo
    echo &quot;  USAGE: ./add_sftp_usr.sh UserName&quot;
    echo
    exit 1
fi

# パスワード生成
PASSWD=$(pwgen 16 1 -cnysB)↲
echo
echo &quot;--- Password ---&quot;
echo &quot;${PASSWD}&quot;

# パスワードのハッシュ生成
HASH=`openssl passwd -6 ${PASSWD}`
# echo &quot;--- Hash ---&quot;
# echo &quot;${HASH}&quot;
echo

# users.confに追加
printf &quot;%s\n&quot; &quot;${USER}:${HASH}:e&quot; &gt;&gt; users.conf</code></pre></div>



<p>実行結果<br><span class="bold-red">同じユーザーを指定すると上書きされず足されていくので、そこも手作業で</span></p>



<div class="hcb_wrap"><pre class="prism off-numbers lang-plain"><code># ./add_sftp_usr.sh foo

--- Password ---
9;*P,mA{/s;p3~+k↲</code></pre></div>
]]></content:encoded>
					
					<wfw:commentRss>https://ydlprog.ddns.net/2025/11/02/docker%e3%81%a7sftp%e3%81%ae%e8%b5%b7%e5%8b%95/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>DockerでNginxリバースプロキシの起動</title>
		<link>https://ydlprog.ddns.net/2025/11/02/docker%e3%81%a7nginx%e3%83%aa%e3%83%90%e3%83%bc%e3%82%b9%e3%83%97%e3%83%ad%e3%82%ad%e3%82%b7%e3%81%ae%e8%b5%b7%e5%8b%95/</link>
					<comments>https://ydlprog.ddns.net/2025/11/02/docker%e3%81%a7nginx%e3%83%aa%e3%83%90%e3%83%bc%e3%82%b9%e3%83%97%e3%83%ad%e3%82%ad%e3%82%b7%e3%81%ae%e8%b5%b7%e5%8b%95/#respond</comments>
		
		<dc:creator><![CDATA[ydlprog]]></dc:creator>
		<pubDate>Sat, 01 Nov 2025 17:05:27 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[Nginx]]></category>
		<guid isPermaLink="false">https://ydlprog.ddns.net/?p=2471</guid>

					<description><![CDATA[サーバー証明書(Let’s Encrypt)の取得 certbotのインストール 証明書の取得 リバースプロキシ用のコンテナ作成 次の工程に進むため、コンテナを起動 設定ファイルの取り込み 各ファイルを volumes  [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">サーバー証明書(Let’s Encrypt)の取得</h2>



<h3 class="wp-block-heading">certbotのインストール</h3>



<div class="hcb_wrap"><pre class="prism off-numbers lang-plain"><code># apt -y install certbot</code></pre></div>



<h3 class="wp-block-heading">証明書の取得</h3>



<div class="hcb_wrap"><pre class="prism off-numbers lang-plain"><code># certbot certonly --standalone -d ドメイン名
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Enter email address or hit Enter to skip.
 (Enter &#39;c&#39; to cancel): メールアドレス

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at:
https://letsencrypt.org/documents/LE-SA-v1.6-August-18-2025.pdf
You must agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: y

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let&#39;s Encrypt project and the non-profit organization that
develops Certbot? We&#39;d like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: n
Account registered.
Requesting a certificate for ドメイン名

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/ドメイン名/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/ドメイン名/privkey.pem
This certificate expires on 2026-02-12.
These files will be updated when the certificate renews.

NEXT STEPS:
- The certificate will need to be renewed before it expires. Certbot can automatically renew the certificate in the background, but you may need to take steps to enable that functionality. See https://certbot.org/renewal-setup for instructions.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
 * Donating to ISRG / Let&#39;s Encrypt:   https://letsencrypt.org/donate
 * Donating to EFF:                    https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
</code></pre></div>



<h2 class="wp-block-heading">リバースプロキシ用のコンテナ作成</h2>



<div class="hcb_wrap"><pre class="prism line-numbers lang-docker" data-file="compose.yaml " data-lang="Docker"><code>services:
  nginx:
    image: nginx:latest
    container_name: revproxy
    ports:
      - &quot;80:80&quot;
      - &quot;443:443&quot;
    restart: always</code></pre></div>



<p>次の工程に進むため、コンテナを起動</p>



<div class="hcb_wrap"><pre class="prism off-numbers lang-plain"><code># docker compose up -d</code></pre></div>



<h2 class="wp-block-heading">設定ファイルの取り込み</h2>



<div class="hcb_wrap"><pre class="prism off-numbers lang-plain"><code># mkdir -p nginx/conf.d
# docker cp revproxy:/etc/nginx/nginx.conf nginx/
# docker cp revproxy:/etc/nginx/conf.d/default.conf nginx/conf.d</code></pre></div>



<h2 class="wp-block-heading">各ファイルを volumes でマウント</h2>



<p>設定ファイルの取り出しが終わったら、compose.yaml を再編集します</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-docker" data-file="compose.yaml " data-lang="Docker"><code>services:
  nginx:
    image: nginx:latest
    container_name: revproxy
    ports:
      - &quot;80:80&quot;
      - &quot;443:443&quot;
    volumes:
      - ./nginx/nginx.conf:/etc/docker/nginx.conf:ro
      - ./nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf:ro
      - /etc/letsencrypt/live/ドメイン名:/etc/letsencrypt:ro
    restart: always</code></pre></div>



<h2 class="wp-block-heading">リバースプロキシ設定</h2>



<div class="hcb_wrap"><pre class="prism line-numbers lang-nginx" data-file="nginx/conf.d/default.conf" data-lang="nginx"><code># http
server {
    listen              80;
    listen              [::]:80;
    server_name         _;

    # httpアクセスは全てhttpsへリダイレクト
    location / {
        return 301 https://$host$request_uri;
    }
}

# https
server {
    listen              443 ssl;
    listen              [::]:443 ssl;
    ssl_certificate     /etc/nginx/server.crt;
    ssl_certificate_key /etc/nginx/server.key;
    server_name         _;

    # エラーページ
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    # リバースプロキシ設定
    proxy_redirect                          off;
    proxy_set_header Host                   $host;
    proxy_set_header X-Real-IP              $remote_addr;
    proxy_set_header X-Forwarded-Host       $host;
    proxy_set_header X-Forwarded-Server     $host;
    proxy_set_header X-Forwarded-Proto      $scheme;
    proxy_set_header X-Forwarded-For        $proxy_add_x_forwarded_for;

    # WordPressへリバースプロキシ
    location / {
        client_max_body_size 512M;↲
        proxy_pass http://172.17.0.1:21080/;
    }

    # GitLabへリバースプロキシ
    location /gitlab {
        client_max_body_size 1000M;
        proxy_pass http://172.17.0.1:22080/gitlab;
    }
}</code></pre></div>
]]></content:encoded>
					
					<wfw:commentRss>https://ydlprog.ddns.net/2025/11/02/docker%e3%81%a7nginx%e3%83%aa%e3%83%90%e3%83%bc%e3%82%b9%e3%83%97%e3%83%ad%e3%82%ad%e3%82%b7%e3%81%ae%e8%b5%b7%e5%8b%95/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Dockerを使ってみる</title>
		<link>https://ydlprog.ddns.net/2025/11/01/docker%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b/</link>
					<comments>https://ydlprog.ddns.net/2025/11/01/docker%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b/#respond</comments>
		
		<dc:creator><![CDATA[ydlprog]]></dc:creator>
		<pubDate>Sat, 01 Nov 2025 09:43:09 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Docker]]></category>
		<guid isPermaLink="false">https://ydlprog.ddns.net/?p=2355</guid>

					<description><![CDATA[Dockerのインストール 代表的なコマンド]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Dockerのインストール</h2>



<div class="hcb_wrap"><pre class="prism off-numbers lang-plain"><code># apt -y install docker.io docker-compose</code></pre></div>



<h2 class="wp-block-heading">代表的なコマンド</h2>



<figure class="wp-block-flexible-table-block-table"><table class="has-fixed-layout" style="width:auto"><thead><tr><th><strong>種別種別</strong></th><th><strong>コマンド</strong></th><th><strong>説明</strong></th></tr></thead><tbody><tr><td rowspan="3">イメージ</td><td>docker images</td><td>イメージの一覧</td></tr><tr><td>docker pull イメージ名</td><td>イメージの取得</td></tr><tr><td>docker rmi イメージ名</td><td>イメージの削除</td></tr><tr><td rowspan="5">コンテナ</td><td>docker ps</td><td>起動中のコンテナ一覧</td></tr><tr><td>docker ps -a</td><td>停止中も含めたコンテナ一覧</td></tr><tr><td>docker rm コンテナ名</td><td>コンテナの削除</td></tr><tr><td>docker compose up -d</td><td>コンテナの起動</td></tr><tr><td>docker stop コンテナ名</td><td>コンテナの停止</td></tr><tr><td></td><td>docker restart コンテナ名</td><td>コンテナの再起動</td></tr><tr><td rowspan="2">その他</td><td>docker exec -it コンテナ名 /bin/bash</td><td>コンテナにログイン</td></tr><tr><td>docker logs -f コンテナ名</td><td>コンテナのログ表示</td></tr><tr><td></td><td>docker cp コンテナ名:コピー元 コピー先</td><td>コンテナ内のファイルをホストへコピー</td></tr></tbody></table></figure>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://ydlprog.ddns.net/2025/11/01/docker%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e3%81%bf%e3%82%8b/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>よく使うコマンド</title>
		<link>https://ydlprog.ddns.net/2025/11/01/%e3%82%88%e3%81%8f%e4%bd%bf%e3%81%86%e3%82%b3%e3%83%9e%e3%83%b3%e3%83%89-2/</link>
					<comments>https://ydlprog.ddns.net/2025/11/01/%e3%82%88%e3%81%8f%e4%bd%bf%e3%81%86%e3%82%b3%e3%83%9e%e3%83%b3%e3%83%89-2/#respond</comments>
		
		<dc:creator><![CDATA[ydlprog]]></dc:creator>
		<pubDate>Sat, 01 Nov 2025 08:59:29 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<guid isPermaLink="false">https://ydlprog.ddns.net/?p=2351</guid>

					<description><![CDATA[システム コマンド 説明 su &#8211; 管理者権限 lsb_release -a OS バージョン確認 apt update パッケージのアップデート apt list パッケージ一覧 apt list &#82 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">システム</h2>



<figure class="wp-block-table"><table><thead><tr><th><strong>コマンド</strong></th><th><strong>説明</strong></th></tr></thead><tbody><tr><td>su &#8211;</td><td>管理者権限</td></tr><tr><td>lsb_release -a</td><td>OS バージョン確認</td></tr><tr><td>apt update</td><td>パッケージのアップデート</td></tr><tr><td>apt list</td><td>パッケージ一覧</td></tr><tr><td>apt list &#8211;installed</td><td>インストール済みのパッケージ一覧</td></tr><tr><td>systemctl status</td><td>サービス起動状態を表示</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">ハードウェア</h2>



<figure class="wp-block-table has-small-font-size"><table><thead><tr><th>コマンド</th><th>説明</th></tr></thead><tbody><tr><td>lshw</td><td>ハードウェア情報をフル表示</td></tr><tr><td>lshw -short</td><td>ハードウェア情報を表示</td></tr><tr><td>lscpu</td><td>CPU情報を表示</td></tr><tr><td>lsmem</td><td>Memory情報を表示</td></tr><tr><td>free -m</td><td>メモリの使用状況表示(MB単位)</td></tr><tr><td>fdisk -l</td><td>ディスク情報を表示</td></tr><tr><td>df -h</td><td>ディスク容量を表示</td></tr><tr><td>du -h -d 1 /</td><td>フォルダ毎のディスク使用量の表示</td></tr></tbody></table></figure>



<h2 class="wp-block-heading">ネットワーク</h2>



<figure class="wp-block-table is-style-regular has-small-font-size"><table><thead><tr><th>コマンド</th><th>説明</th></tr></thead><tbody><tr><td>nmap -p 1-65535 -sT localhost</td><td>空いているポートをSYNスキャン</td></tr></tbody></table></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://ydlprog.ddns.net/2025/11/01/%e3%82%88%e3%81%8f%e4%bd%bf%e3%81%86%e3%82%b3%e3%83%9e%e3%83%b3%e3%83%89-2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Debianのネットワーク設定</title>
		<link>https://ydlprog.ddns.net/2025/11/01/debian%e3%81%ae%e3%83%8d%e3%83%83%e3%83%88%e3%83%af%e3%83%bc%e3%82%af%e8%a8%ad%e5%ae%9a/</link>
					<comments>https://ydlprog.ddns.net/2025/11/01/debian%e3%81%ae%e3%83%8d%e3%83%83%e3%83%88%e3%83%af%e3%83%bc%e3%82%af%e8%a8%ad%e5%ae%9a/#respond</comments>
		
		<dc:creator><![CDATA[ydlprog]]></dc:creator>
		<pubDate>Fri, 31 Oct 2025 18:05:42 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<guid isPermaLink="false">https://ydlprog.ddns.net/?p=2278</guid>

					<description><![CDATA[ホスト名 ホスト名の確認 ホスト名の変更 ネットワーク情報 ネットワークデバイス名の確認 ネットワークのハードウェア情報の確認 ネットワークデバイスが何のハードウェアかは、以下のコマンで確認できます(ログは一部抜粋したも [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">ホスト名</h2>



<h3 class="wp-block-heading">ホスト名の確認</h3>



<div class="hcb_wrap"><pre class="prism off-numbers lang-plain"><code># cat /etc/hostname</code></pre></div>



<h3 class="wp-block-heading">ホスト名の変更</h3>



<div class="hcb_wrap"><pre class="prism off-numbers lang-plain"><code># vi /etc/hostname</code></pre></div>



<h2 class="wp-block-heading">ネットワーク情報</h2>



<h3 class="wp-block-heading">ネットワークデバイス名の確認</h3>



<div class="hcb_wrap"><pre class="prism off-numbers lang-plain" data-line="15"><code># ip a
1: lo: &lt;LOOPBACK,UP,LOWER_UP&gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: eno1: &lt;BROADCAST,MULTICAST&gt; mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether ??:??:??:??:??:?? brd ff:ff:ff:ff:ff:ff
    altname enp2s0
    altname enx????????????
3: enp4s0: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether ??:??:??:??:??:?? brd ff:ff:ff:ff:ff:ff
    altname enx????????????
    inet 192.168.103.213/24 brd 192.168.103.255 scope global dynamic noprefixroute enp4s0
       valid_lft 85836sec preferred_lft 75036sec
    inet6 240d:1a:3ce:ba00:4943:9310:ce3f:d58d/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 86341sec preferred_lft 86341sec
    inet6 fe80::12b:5152:6c1e:fc50/64 scope link 
       valid_lft forever preferred_lft forever
4: wlp3s0: &lt;BROADCAST,MULTICAST&gt; mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether ??:??:??:??:??:?? brd ff:ff:ff:ff:ff:ff
    altname wlx????????????</code></pre></div>



<h3 class="wp-block-heading">ネットワークのハードウェア情報の確認</h3>



<p>ネットワークデバイスが何のハードウェアかは、以下のコマンで確認できます(ログは一部抜粋したもの)</p>



<div class="hcb_wrap"><pre class="prism off-numbers lang-plain"><code># lshw -C network
  *-network DISABLED
       description: Ethernet interface
       product: RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet Controller
       vendor: Realtek Semiconductor Co., Ltd.
       logical name: eno1
  *-network DISABLED
       description: Wireless interface
       product: Wi-Fi 6 AX200
       vendor: Intel Corporation
       logical name: wlp3s0
  *-network
       description: Ethernet interface
       product: Ethernet Controller I226-V
       vendor: Intel Corporation
       logical name: enp4s0</code></pre></div>



<h2 class="wp-block-heading">固定IP設定</h2>



<h3 class="wp-block-heading">現在のネットワーク設定確認</h3>



<p>inet dhcp なら DHCP、inet static なら固定IPです</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-ini" data-lang="ini" data-line="13"><code># cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug enp4s0
iface enp4s0 inet dhcp</code></pre></div>



<h3 class="wp-block-heading">固定IP設定</h3>



<p><span class="red"><span class="bold-red">各値は自分の環境に合わせ設定すること</span></span></p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-ini" data-file=" /etc/network/interfaces" data-lang="ini" data-line="12-18"><code># This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug enp4s0
iface enp4s0 inet static
    address         192.168.103.103
    netmask         255.255.255.0
    network         192.168.103.0
    broadcast       192.168.103.255
    gateway         192.168.103.1
    dns-nameservers 192.168.103.1</code></pre></div>



<p>設定が終わったら、設定を反映</p>



<div class="hcb_wrap"><pre class="prism off-numbers lang-plain"><code># systemctl restart ifup@enp4s0</code></pre></div>



<h2 class="wp-block-heading">SSH設定</h2>



<h3 class="wp-block-heading">設定ファイルのバックアップ</h3>



<div class="hcb_wrap"><pre class="prism off-numbers lang-bash" data-lang="Bash"><code># cp /etc/ssh/sshd_config /etc/ssh/sshd_config.org</code></pre></div>



<h3 class="wp-block-heading">使用済みポートの確認</h3>



<div class="hcb_wrap"><pre class="prism off-numbers lang-plain"><code># ss -atnu
Netid       State        Recv-Q       Send-Q               Local Address:Port                Peer Address:Port       
tcp         LISTEN       0            128                        0.0.0.0:22                       0.0.0.0:*          
tcp         ESTAB        0            52                 192.168.103.103:22               192.168.103.126:61628      
tcp         LISTEN       0            128                           [::]:22                          [::]:*    </code></pre></div>



<h3 class="wp-block-heading">設定を検討する項目</h3>



<figure class="wp-block-flexible-table-block-table is-content-justification-left is-style-stripes"><table class="" style="width:auto"><tbody><tr><td rowspan="2" style="text-align:right">ポート番号の変更</td><td>デフォルトの22を使う</td><td>XXXXXを使う</td></tr><tr><td>#Port 22</td><td>Port XXXXX</td></tr><tr><td rowspan="2" style="text-align:right"> root ログイン</td><td>許可</td><td>禁止</td></tr><tr><td>PermitRootLogin yes</td><td>PermitRootLogin no</td></tr><tr><td rowspan="2" style="text-align:right">公開鍵認証</td><td>禁止</td><td>許可</td></tr><tr><td>#PubkeyAuthentication yes</td><td>PubkeyAuthentication yes</td></tr><tr><td rowspan="2" style="text-align:right">パスワード認証</td><td>許可</td><td>禁止</td></tr><tr><td>#PasswordAuthentication yes</td><td>PasswordAuthentication no</td></tr></tbody></table></figure>



<h3 class="wp-block-heading">鍵の作成</h3>



<div class="hcb_wrap"><pre class="prism off-numbers lang-plain"><code>$ ssh-keygen 
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/hoge/.ssh/id_ed25519): 
Enter passphrase for &quot;/home/hoge/.ssh/id_ed25519&quot; (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/hoge/.ssh/id_ed25519
Your public key has been saved in /home/hoge/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:mmhImSeMBGgMLZSzXxm0tO12/aaOgY38qwUWBENo6Ug hoge@ylocalhost
The key&#39;s randomart image is:
+--[ED25519 256]--+
|Bo. =*..         |
|+E.+..*          |
|oo*  ooo         |
|.= + o. . .      |
|. B o  =S. .     |
| . = .+o*   .    |
|  . o o+ +   o   |
|   .    o o o    |
|       ..+oo     |
+----[SHA256]-----+</code></pre></div>



<p>プライベートキーを取り出したらサーバーからは削除<br>パブリックキーは authorized_keys にリネーム</p>



<div class="hcb_wrap"><pre class="prism off-numbers lang-plain"><code>$ rm .ssh/id_ed25519
$ mv .ssh/id_ed25519.pub .ssh/authorized_keys</code></pre></div>



<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://ydlprog.ddns.net/2025/11/01/debian%e3%81%ae%e3%83%8d%e3%83%83%e3%83%88%e3%83%af%e3%83%bc%e3%82%af%e8%a8%ad%e5%ae%9a/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
