@Blog{zip358.com}
日常日誌からプログラムやYOUTUBER紹介、旅日記まで日々更新中です。
Githubアクションでレンタルサーバーにデプロイさせる話.
2024.09.20
おはようございます.将軍が米エミー賞を受賞しましたね、これを機会に自分はディズニープラスを契約してウォーキングのときに将軍をみています、これは田舎だから出来る特権かと思います💁.
さてGithubアクションでレンタルサーバーにデプロイ(アップロード)させる方法を書いていきます.まず前提条件としてIDとPASSでの認証ではなくて鍵での方法です.事前に公開鍵をレンタルサーバーに登録しとく必要があります.
では最初に対象となるリポジトリのセッティングから下記の順にクリックしてください.
次、アクションシークレットに必要な値を登録します(SSH_PRIVATE_KEYやSERVER_USERNAMEなどです)
最後にアクションの設定(yml)を行えば完了です.完了ですがレンタルサーバーによっては海外IPアドレスをブロックするように設定しているレンタルサーバーがあります.なので、海外IPを解除する必要があります.GithubのIPアドレスはこちらを参照して設定ください.
https://api.github.com/meta
※ルート直下をデプロイ対象すると.gitもアップロードされ大変危険ですので対策を取るか、直下をアップロードしないようにするか等が必要なります.
name: sakura
on:
push:
branches: [ "main" ]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Set up SSH key
run: |
mkdir -p ~/.ssh
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa_sakura
chmod 600 ~/.ssh/id_rsa_sakura
- name: Deploy Files via rsync
run: |
rsync -avz -e "ssh -i ~/.ssh/id_rsa_sakura -o StrictHostKeyChecking=no" ./path ${{ secrets.SERVER_USERNAME }}@${{ secrets.SERVER_HOST }}:${{ secrets.SERVER_DEPLOY_DIR }}
これでメインにプシュしたものはレンタルサーバーにアップロード(Deploy)されるようになります.
簡略化した説明なので分からない方もいると思います.そんな方は生成AIやググると何とかなるかと思いますので諦めずにトライしてみてください.
明日へ続く.
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
actions, branches, deploy, echo, git, github, jobs, path, push, quot, run, sakura, SSH, steps, StrictHostKeyChecking, ubuntu-latest, uses, yml, デプロイ,
さくらレンタルサーバー(共有サーバー)の/home🏠はアレが見えてるよ。#知ってた?#駆け出しエンジニアと
2022.09.09
おはようございます。今日、高知県では雨☔の地域もあったりするそうですよ🙄。
さて、今日はさくらレンタルサーバー(共有サーバー)の/home🏠の話です。さくらレンタルサーバーじゃなくても共有サーバーを借りたことがある人は知っているかも知れませんが・・・常識?🤔。
さくらレンタルサーバーの/homeの階層に複数のディレクトリが存在します。そのディレクトリのディレクトリ名はさくらレンタルサーバーのアカウント名であり、初期のドメイン名になります。
なので、ディレクトリ名.sakura.ne.jpにすれば初期のドメイン名を生成することが可能ですし、ログインでXXXXX…みたいな事が出来たりしまいます。赤の他人のアカウントでログインするのはハッキングにあたりますので、しないように!
でも、初期のドメインを見ることぐらいなら、良いじゃないかなってことで?WEBサーバーな訳ですからね。
という事で、こんなコードを書きました。コマンド ls -a /homeを実行し結果をtxt.txtのファイルに保存します。そのtxtファイルをPHPで読み込み、ディレクトリ名からリンクリストを生成(index.html)という様な流れ。index.htmlの開いてリンクをクリックすれば/homeの配下の初期ドメインへ飛んでいけます😱、ちょっと悪趣味ですがね…。
コードはこんな感じになります。実行するときはls.phpを開いてください。ls.phpを読み込み完了後、index.htmlのリンクをクリックしてみてください🤐。
尚、下記のファイル全てを同じ階層のディレクトリに置くこととします。※ファイルはUTF-8で。
<!DOCTYPE html>
<html lang="ja">
<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.6.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
<link rel="stylesheet" href="assets/css/style.css">
<title>Title</title>
</head>
<body>
<a href="index.html">index.html</a>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.slim.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.6.0/js/bootstrap.min.js"></script>
</body>
</html>
<?php
exec("sh ls.sh",$output,$result_code);
#!/bin/sh
ls -a /home > txt.txt
/usr/local/bin/php href.php
done
<?php
ob_start();
?>
<!DOCTYPE html>
<html lang="ja">
<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.6.0/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
<title>lsit</title>
</head>
<body>
<button class="btn btn-primary" type="button" id="btn">BTN</button><br>
<?=setlist()?>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.slim.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.6.0/js/bootstrap.min.js"></script>
<script>
document.getElementById("btn").addEventListener("click",function(){
for( let i in document.getElementsByTagName("a")){
document.getElementsByTagName("a")[i].target = document.getElementsByTagName("a")[i].href;
document.getElementsByTagName("a")[i].click();
}
});
</script>
</body>
</html>
<?php
file_put_contents("index.html",ob_get_clean());
?>
<?php
function setlist(){
$txt_data = explode("\n",file_get_contents("txt.txt"));
$str[] = "<ul>";
foreach($txt_data as $key=>$val){
$str[] = (preg_match("/\./",$val) || !$val)?"":"<li><a href='http://".trim($val).".sakura.ne.jp'>".trim($val).".sakura.ne.jp</a></li>";
}
$str[] = "</ul>";
return implode("\n",$str);
}
著者名 @taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
9, home, jp, ne, REBORN, sakura, xxxxx, アカウント, アレ, エンジニア, コ, こと, サーバー, さくら, ディレクトリ, ドメイン, ドメイン名, ハッキング, レンタル, ログイン, 事, 人, 今日, 他人, 共有, 初期, 可能, 地域, 存在, 常識, 生成, 複数, 話, 赤, 階層, 雨, 駆け出し, 高知県,
さくらレンタルサーバーとXサーバーのMYSQLの規定
2018.11.13
さくらレンタルサーバーとXサーバーのMYSQLの規定は下記になります。
個人で使用する場合、1G、多くて3Gもあればそんなに困らないとは思いますが、企業や仕事で商品データなどをMYSQLサーバーに保存しようとすると足りない。さくらレンタルサーバーは9Gまで保証してくれるが、それでも足りないっていう企業の方も多くいると思います。そんな場合はさくらレンタルサーバーだと共有サーバーを諦めてワンランクアップしたマネージドサーバ(IP専用)を考えてみると良いかもしれないです。
ちなみにXサーバーはビジネスタイプでも同じ規定です。
https://www.xserver.ne.jp/manual/man_db_spec.php
https://help.sakura.ad.jp/hc/ja/articles/206053142#db
著者名 @taoka_toshiaki
※この記事は著者が30代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
1, 206053142, 3, 9, ad, articles, db, hc, help, https, IP, ja, jp, MYSQL, sakura, アップ, サーバ, サーバー, さくら, それ, タイプ, データ, ビジネス, マネージド, ランク, レンタル, ワン, 下記, 仕事, 企業, 使用, 保存, 保証, 個人, 共有, 商品, 場合, 専用, 方, 規定,