ブログ BLOG Home Blog MacのOSをVenturaにアップデートしたらSSH関連が繋がらなくなった タイトルどおりで、MacのOSアップデートでVenturaにしたは良いけど・・・SSHでサーバーに繋がらなくなっちゃった!!!困った困ったと思ってグーグル先生に聞いたら応急処置だが「config」に魔法の言葉を追記したら治ったのでそのやり方を備忘録として〜まずはターミナルを開いてとして、ディレクトリへ移動ls -laと入力して「config」ってフィアルが無かったらとして、configファイルを作って中身を開く中身は空だと思うので(もしもともとある人は色々書かれてると思いますが)下記のコードを追記してください終わったら保存して、再度SSH接続してみてください。つながると思います。Venturaになって、標準のOpenSSHのバージョン?の問題でsha-1のRSA署名が無効になったと考えられるっぽいです。本来はサーバー側のSSHのアップデートが必須なんですが、とりあえずこの方法でも行けるみたいです。 #Mac #OS #Update #ssh #繋がらない 2022-11-08 Ajax LaravelやPHPでファイル保存する時Base64とかでよく忘れちゃうこと こんちわ〜久しぶりにプログラム書いてると、久しぶりじゃなくてもよく忘れちゃうbase64の保存方法Ajaxで非同期通信してて、Laravel側(PHP)にファイルデータ渡して保存してるけど、保存したファイルが開けません問題作ったファイルをダウンロードして、見てみるとファイルは開けません!って怒られるあれれ?って思ってあ〜そうだった。base64_decodeしてねぇや。ダウンロードして・・・ファイルは開けまてん!!あれぇぇえぇ〜?ってなること良くあるある。送信したファイルについてる下の呪文を取り除くのよく忘れる。data:application/pdf;base64,data:image/png;base64,ってことで、よく忘れるのはこのファイルの先頭についてる呪文を削除してからbase64_decodeして保存しないとダメってことですよね。ちゅーことで〜今回はPDFとして〜ふぅ〜無事ダウンロードして開けました。まじで、久々に書いてたら忘れること多いなぁ・・・・ #Laravel #PHP #base64 #ファイル保存 #備忘録 #jquery #ajax 2022-06-08 CentOS Stream9 LAMP構築から色々含めて こんにちわ!今日は2月8日にリリースされたLaravel9を使おうと思ってついでに新しいOSも導入しようと思ったのでここに書く内容をほぼほぼコピペで動くだろう!って感じで書いていこうと思います〜本ブログでは、Composer、npm、certbot(let's encrypt)なども含めてご紹介します。【構成】CentOS Stream9 (さくらVPS)Apache:2.4PHP:8.0MySQL:8.0Laravel:9.1Composer:2.2.6npm:8.3python:3.9 (Let's Encrypt Certbot用)今回やりたいLarave9は必須条件がPHP8以上でしたので、どうせならと思いOSも最新の物にしようと考えました。さくらVPSのコンパネから、OSをCentOS Stream9を選択してサクッとインスールします。インストールが終わったら、sshで接続します。この時、OSを入れる際に注意書きでrootユーザーではなくcentosってユーザーが自動で作られます。rootユーザーでは直接接続ができなくなります。(あとで設定で変更できますが、それは別のお話しで)あ、それからCentOS7などまで使われてたyumコマンドが変更されてdnfとなっているので、そこも見慣れないと思いますが気にせず進めて行きましょう!sshでログインの際に、変な文章出てくるのでcockpitは削除しておきましょう。続けてFirewalldを起動させて、ポートを開放しましょう続けてApacheのインストールです!インストールされたか確認しましょう。バージョンが表示されてればOKです!\(^o^)自動起動をONにしましょう!続いて、PHPをインストールしましょう! (8.0.13) 複数ライブラリもまとめてインストールインストールされたかバージョン確認してみましょう!表示されてればOKですよ!おめでとうございます続いては、MySQLのインストールですインストールされてるかバージョンの確認バージョンが表示されてればOKです。MySQLも自動起動をONにしときましょう!初期状態では、rootユーザーがパスワードなしで MySQLに接続できるようになっていますのでパスワードを設定しましょう!設定したパスワードで入れるか確認Sequel Proなどのツールを使っていると、接続できない!ってエラー出ると思います。なので、もう少し設定していきましょう。これでSquel Proの接続してみて、接続されればOK!続いて、Laraveをインストールする為に必要な「Composer」をインストールしていきましょう。バージョン表示の確認できればOKです!さてさて、やっと本題のLaravel9のインストールですね!!サクッと行ってみましょう!!インストールが終わったらバージョン確認してみましょう。プロジェクトへ移動してバージョン表示されましたか?されてればOKですよ!!!これで、ブラウザから確認してLaravel9の画面が出てればOKです。おめでとうございます!!ここからは、Laravelを使う上で必要になってくるnpmのインストールやSSL(https)をするためにpythonやcertbotのインストールになりますので、ここまでの方はお疲れ様でした〜!!!という事で、どんどん行きましょう!Pythonのインストール。Let's Encrypt(Certbot)を使えるようにする為↑ 終わったら下記実行してCertbot(Let's Encrypt)をインストールします。インストールが終わったらバージョン確認してみましょう。続いては、いつも通りhttpsをかける設定です。↑はいつも通りのコマンドですね。OSが変わったからと言って、ここのコードが変わるわけではないです!安心安心ここで、apacheの再起動忘れずに続いてnpmのインストールです。インストール終わったらバージョン確認バージョンが表示されてたらOKです。お疲れさまでした!!補足ですが。CentOS Stream9から/etc/にあった「hosts.allow」や「hosts.deny」がなくなっています。これはsshの接続を許可するIPを制限するための設定ファイルになるんですが、ものが無い。ならどうすんだ!って思った方。安心してください!履いてますよ!(古!CentOS Stream9からは「sshd_config」で行います。usernameのところは、接続したいusernameです@の後ろはIPアドレスになります。ですが、この設定hosts.allowやdenyと違ってIPの制限はされますがパスワードの入力までは見えてしまします。そこで、もしssh自体を制限したい場合は、Firewalldで行う必要があります。Firewalldは色んな設定の仕方がありますので、Firewalld sshなどでGoogle先生に聞いてもらったほうが色々書くより早いと思います。Firewalldでsshの書かれてるところを消して、usernameなどを設定、またIPアドレスなどもそこで設定してれば問題なくhosts.allow, denyの設定のような感じになると思います。どちらにしてもsshd_configの設定は必要ですので、お忘れなく。最後にsshd_configを触ったら再起動しておきましょう。まだまだ他にも細かい設定などはありますが、そこは省きました。httpdの「ServerTokens」や「ServerSignature」などphp.iniの「expose_php」などなど。今回はとりあえず、LAMP環境構築からLaravelをインストールして、npmやcertbot(Let's Encrypt)の一通りWEBサーバーとして使えるようにする設定のご紹介でした。長かったですが、最後まで読んでいただきありがとうございました。 #CentOS #Stream9 #LAMP #Laravel #Composer #npm #certbot #ssl 2022-02-23 Dockerを使って、とりあえずLaravel~MySQLまで使えるようにしよう(構築 前編) みなさんご無沙汰してます!Docker使ってますか~!?大規模・小規模開発、関係ないです!節約につながるので、是非是非Dockerを使いましょう!!そして、少しでもサーバー構築の知識をつけてもらえたらと思います。環境はMacです。Windowsだと、すんなりインストールできる人とできない人が居るかもです。Windowsでつまずいた人は、ここらへん見るといいかも。Windows 10 + WSL 2 でDocker環境を構築する(Docker Desktop有料化対策)Windows docker起動エラー(WSL2 利用)今回の記事では、サーバー知識なくてもとりあえず、この手順通りやれば構築できるよ!?って感じでお伝えできたらと思います~!!まずは、Dockerがないと話しにならない!Dockerをインストールしましょう!(あ、Docker=ドッカーって読むみたいです)Docker公式サイト公式サイトを開いたら右上にある『Get Started』へ移動しましょう!そしたら、こんな画面になります。左の『Docker Desktop』からお使いのOSを選択しましょう!たぶん、デフォルトでお使いのOSが選ばれてると思います。画像左の『Download for Windows』って書いてる下向きになってるアイコンからOS選択できるのでそこから選んで見ましょう。AppleのM1チップをお持ちの方は、Apple Chipを選択してください。macの方CPUの確認は『アップルマーク → このMacについて』を押すとわかりますよダウンロード完了したら、インストールしてください。無事インストールが終わったらアプリを起動しましょう。※ Windowsの方は、ここで再起動しろと言われます・・・(Windowsのこう言う所うざいっすよね。右上あたりにクジラのアイコンが出てると思います!!クジラアイコンをクリックして画像部分が緑になってたら起動成功です。おめでとうございまーーーーーーーす!!!続いて、コンテナを作っていきましょう。(コンテナを作る準備をしましょう!) #Laravel #Docker #MySQL #SSH #構築 2022-01-25 2022年 明けましておめでとうございます。 新年あけましておめでとうございます。本年も、どうぞよろしくお願い申し上げます。弊社が運営できておりますのは、ひとえにお客様の暖かいご支援のお蔭と、心より御礼申し上げます。2022年は新しい取り組みの企画などを考えお客様に更にご満足いただけるようなサービスを提供できるよう、日々精進を続けてまいりたいと考えております。2021年から引き続き、世界的に新型コロナウィルスの流行が続いており、落ち着く気配もありながら、まだまだ予断を許さない状況ではありますが、弊社スタッフ一丸となり、この時世に負けない運営とクォリティを目指します。今後も弊社は現状には留まらず、お客様にご満足いただけるよう、より一層尽力してまいりますので、本年も何卒よろしくお願いいたします。 株式会社ガッツコム 代表取締役社長 住本 #謹賀新年 #令和4年 #2022年 #新年挨拶 #寅年 2022-01-01 LaravelでNamespace declaration statement has to be コントローラーを作ってアップして確認したら、急に下記のようなエラーがでた「LaravelでNamespace declaration statement has to be the very first statement or after any declare call in the script」なんだこれ・・・・ってコードを見直しても治らないと、時間を食うのも嫌なので取りあええずグーグル先生に<?phpの前に何も書いたらダメよってエラーらしいです。1行目の改行を消すとちゃんと動きました。 #Laravel #エラー #Namespace #凡ミス 2021-07-05 TASKsを作りました。 #作業管理 #協業 #タスク #協力 #人材評価 #ペーパーレス #経費削減 #作業効率アップ 2021-04-18 rsyncでバックアップしようとしたら10秒ほどで切断・・・ 最初はscpで、リモートサーバのディレクトごとまるっとローカルにコピーしようとシェルスクリプトを組んでみていざ、走らせてみたら何故か途中で切断される。おかしいなぁって思って、rsyncだとリジュームできるのでrsyncに切り替えようと書き直していざ、走らせてみたら何故か途中で切れる。うーーーん・・・・と考えこみ、グーグル先生に訪ね続け解決した。expectを導入しており、そこからローカルのcrontabで定期的にバックアップを取る仕組みを作っているのですがどうも、調べたところ「expect」はデフォルトで10秒程度しか動かないっぽい。なので、バックアップとなると結構大容量のデータになるので10秒では終わらない。教えてくれたrougeref’s diary様感謝結論としては、expect -c のあとに「set timeout -1」を入れることで解決。set timeout -1を入れることで、デフォルト10秒が無効になり時間制限が無くなる。リモートのディレクトリをまるごと圧縮してダウンロードしたりと色々試していたがまさか、こんな落ちがあったとは・・・とほほ。。。 #rsync #scp #10秒 #切断 #途中で切れる #expect #シェルコマンド 2021-02-09 LaravelでQRコードを生成、作成する 久しぶりの投稿です(汗今日はLaravelで、QRコードを生成する方法を書いていこうと思います!!・Laravel5.7・PHP7.4凄く簡単なので、サクッと行ってみよう!!まずは、Laravelのルートへ行き、Composer追加しますもし、上の設定でサーバー側のメモリが足りない!とかってエラー出た方は「エラーPHP Fatal error: Allowed memory size of {メモリの数値} bytes exhausted」下記を試して見てください!上のコマンドは、一時的にメモリのリミットを外すやり方です。Composerが終わったらapp/config.phpの中を書き換え設定が完了したら、Controllerに「use QrCode」を追加してください。あとは、bladeなどに下記のように書けばQRコードを生成してくれますよ!もし、なんかエラー出る人は、Laravelルートの「Bootstrap」ディレクトリの権限を変更してみると良いかも知れません!すごく簡単なので、試して見てくださいね!自分の備忘録も兼ねて・・・w #Laravel5.7 #QRコード #生成 #作成 #PHP 2021-02-08 Laravelでルートは合ってるのに、Not Foundが出る解決方法 Laravelをインストールしたら、初期画面の「welcome」が表示されるがRoute.phpで下記のように付け足す。この状態でURL「localhost/hoge」にアクセスしてもNot Foundと表示されている考えられる理由・.htaccess・httpd.confの設定■ .htaccessの設定。初期状態のLaravelルート/public/.htaccessを見てみる。特に問題がない。■ httpd.confの設定<directory "/var/www/html"> AllowOverride None # Allow open access: Require all granted</directory>こいつだ!!!AllowOverride None ↓AllowOverride Allへ変更してhttpd再起動。無事に表示されました。原因はこれ以外にも、あると思いますが私はこれで治りました〜もし、困っている方居たらお問い合わせください。お問い合わせは画面右下にアイコンあるのでそこからどうぞ〜 #laravel #notfound #解決 #対策 2020-12-08 Laravel4でDB(データベース)のバックアップを取る 私は、現在Laravelのバージョンは5.7や5.8を使うことが多いのですが昔使ってたLaravel4.2のバージョンでまだ動いてる物もあったりします。そこで、今回はちょっと古い情報だけど、Laravel4でもデータベースのバックアップする方法を書きます!まずは下記のリンクを参照してください。と言っても、導入のやり方なども、このあと書いて行くので見なくてもOKですLarave-Backup↑ここが本家!まずは、composerに記述しましょう!!終わったら、Laravel側のapp/config/app.phpに下記記述してください設定は以上です!簡単ですね!!サクッと終わりました!あとは、ターミナルなどでphp artisan db:backupしたら、「app/storage/dumps/」ってところに「○○○○○○○.sql」ってファイルが出来てます!!中身は、きれいにdumpデータが書かれていますね!ターミナルじゃなくて、Laravel内で動かしたい人!!わかりますよその気持。ってことで、Laravel内で動かす場合はこちら!と書けば、同じ処理が出来ます。え?ファイル名を付けれないのか?って?もちろん付けれますよ!!app/storage/dumpsに事前にディレクトリを作って、そこを指定することも出来ます。その場合はなんてことも出来ます。でも、上に書いた「app_path().'/storage/dumps/bkupfile/'」の「bkupfile」と言うディレクトリは事前に作っておきましょう!No such Directory!ってエラーで怒られます。それでは、最後にバックアップしたデータを復元する方法を書きます!本家にも書かれていますがphp artisan db:restore filename.sqlで、出来ます。ですので、先程と同じでLaravel内で同じことがしたい場合は。で、出来ますよ!!しかも、バックアップ処理速度もかなり早いので便利です。また、良い情報集めて公開しま〜す。少しでも役に立てたら、嬉しいですねぇ〜(^o^)v #laravel4 #db #bkup #backup #データベース #バックアップ 2020-04-08 Laravelで簡単にバックアップしてCronで別サーバーへFTP転送までを自動化してみた 久しぶりの投稿です。12月は忙しく、事務所の移転もしたりとバタバタでした。回線の移動が、ビビりまくりでしたねぇ!!と言うことで、本題に戻しますw今までCronを使ってシェルなどを動かしてバックアップを取っていたのですがLaravelには凄く便利なバックアップ方法がありましたので、そちらを共有したいと思います!!spatie/laravel-backup:5.* ← 5.*はLarave V5系ならこれ。Laravel 6系ならspatie/laravel-backup:5.* → spatie/laravel-backupとしてください。実行したら、だらだら〜とインストールが始まってPackage manifest generated successfully.って出たら完了です次にとすると、configディレクトリにbackup.phpが生成されます。こちらは、特に触らなくても問題ないです。一応実行だけしときます。このファイルはバックアップの場所とか色々設定ができます。ここまでしたら、一旦完了です!!すげー!簡単だ!!たぶん色々とエラーは出ると思いますが、実行はされてるはずです。エラーが出る人はphp artisan backup:run --disable-notificationsこちらで実行してみてください。実行結果は、/Laravel_Root/storage/Laravel/の中にzipファイルが出来上がります。このzipファイルの中に、LaravelのソースコードとDatabaseのdumpデータが入っています。もし、zipのパッケージが入ってない人はパッケージをインストールしてください。インストール方法はzipをインストールしたら、もう一度php artisan backup:runを実行してみてください。/Laravel_Root/storage/Laravel/ の中にzipファイルができましたか??出来てない人は、チャットなどで問合せてくださいw時間を見て順次返答してみます。ここまでで、一旦サーバーにバックアップを創ることが出来たと思います。ですが、サーバーにバックアップを取っても、サーバーがぶっ飛んだら意味がない!!!と言うことで、弊社は別のサーバーをバックアップに立てて、そちらにバックアップデータを入れています。この場合はFTPやSFTPとかでアップしてるので(scpとか使わないの?とか言わないでくださいね。)先にそちらの話しをしてみましょう!!!LaravelにはStorageクラスというものがあり、こちらが非常に便利です!!!まずは、config/filesystem.phpを開いてみましょう!!今回はFTPとしていますが、SFTPなどもいけますし見てわかるように、s3などへも簡単に出来ますよ。https://readouble.com/laravel/5.5/ja/filesystem.htmlこちらを参考にしてもらったら、Storageクラスがある程度わかると思います。細かくポートやパッシブモードなども設定できます。次に、転送させる為のコードを書くのですがこのコードを実行すると、自動的にconfig/filesystem.phpで設定した、FTPへファイルを作ります。なんとたったの1行!!すげー!さて、ここまでで、バックアップファイルの生成からFTPへ転送までが完了しましたここから、それじゃーバックアップしたデータを自動的にFTPへ転送してぇ〜よ!ってところでここで登場するのが、Cronです。Cronはサーバーで指定した時間に自動的に実行してくれる便利な機能です。Cronの設定は、各々扱うユーザーなどが違うかもなので、私の設定で書きます。まずはSSHで書かないといけないので、順に説明しながら書いていきます。急に英語でてきて、わかんねぇ!!って言わないでくださいねwとりあえず、少し話しは脱線しますが、Cronの説明をしていきます。* * * * * ← 5つの*がありますが、こちら、英語の説明を簡単に訳すと1つ目の* 分 (0〜59)2つ目の* 時間 (0〜23)3つ目の* 日 (1〜31)4つ目の* 月 (1〜12) (数字じゃなくて、jan,feb,mar,apr ...みたいに書いてもいいよ!)5つ目の* 週 (0〜6) (0:日曜、1:月曜、2:火曜、3:水曜、4:木曜、5:金曜、6:土曜) 数字じゃなくても(sun,mon,tue,wed,thu,fri,sat みたいに書いてもいいよ!)という風になっています。例題をいくつか作ってみましょう。毎日朝4時30分に実行したい場合は30 4 * * * となります。毎週月曜日の朝4時30分に実行する場合は30 4 * * 1となります。毎月1日の朝4時30分に実行する場合は30 4 1 * *となります。だいたい、わかりましたか?それでは、これで話しを本題に戻しましょう。次に、Laravel側の設定をしないといけません。/Laravel_Root/app/Console/Karnel.phpのファイルを開きます。このようになっていると思います。こちらのschedule関数の中を少し触ります。このように、登録することで、SSHからartisanコマンドで、このschedule関数を呼び出すことが出来ます。実際にやってみましょう!↑さっきは php artisan backup:runでしたが、今回はschedule:runです。schedule関数を呼び出しています。これをすることで、先程 /Laravel_Root/app/Console/Karnel.phpで書かれたschedule関数が動きます。スケジュール関数には$schedule->command('backup:clean'); //←追加$schedule->command('backup:run'); //←追加この2つを登録したので、まずは古いバックアップをクリーンにしてから、新しいバックアップを創る処理をしていますね。なので、schedule:runをしたらこちらが動きます。ほんとにわかりやすいですね〜(^o^)v続いて、この中に(不細工なやり方ではありますが....)scheduleのcall関数を使って、このままFTPへ転送の処理も書いちゃおう!これで、SSHからphp artisan schedule:runを動かすと1:古いバックアップデータをクリーンする。2:新しいバックアップを作成する。(zipの中身は、Laravelのソース+Sqlのdumpデータ)3:ファイルが出来たら、自動的に別で用意してるFTPへ転送する。という所が出来ました。ここまで来たら、あとはCronで設定するだけですね。あとは、朝4時30分になると、Cronが自動的に処理してくれます。ここまでで、Laravelの公式にも書かれているspatieを使って、Laravelのソースコードやデータベースのバックアップを取ってそれを自動的にzipファイルにしてくれて、そのzipをまるごとFTPへ転送!!なんとCronも使って全自動!ってことで、かなり長くなりましたが、これで出来ると思います。余談を書くと、zipファイルが残るようであればサーバー内の容量が食われるのでFTPの転送が終われば、Storage::deleteを使ってファイルの削除をしてたほうが良いかも知れませんね。それでは、長々となりましたが、最後まで読んでいただきありがとうございました〜ちょくちょく更新がんばります〜m(_ _)m #Laravel #DB #ソース #コード #バックアップ #backup #簡単 #cron #FTP #転送 #crontab #zip #spatie 2019-12-26 記事をもっと見る
MacのOSをVenturaにアップデートしたらSSH関連が繋がらなくなった タイトルどおりで、MacのOSアップデートでVenturaにしたは良いけど・・・SSHでサーバーに繋がらなくなっちゃった!!!困った困ったと思ってグーグル先生に聞いたら応急処置だが「config」に魔法の言葉を追記したら治ったのでそのやり方を備忘録として〜まずはターミナルを開いてとして、ディレクトリへ移動ls -laと入力して「config」ってフィアルが無かったらとして、configファイルを作って中身を開く中身は空だと思うので(もしもともとある人は色々書かれてると思いますが)下記のコードを追記してください終わったら保存して、再度SSH接続してみてください。つながると思います。Venturaになって、標準のOpenSSHのバージョン?の問題でsha-1のRSA署名が無効になったと考えられるっぽいです。本来はサーバー側のSSHのアップデートが必須なんですが、とりあえずこの方法でも行けるみたいです。 #Mac #OS #Update #ssh #繋がらない 2022-11-08
Ajax LaravelやPHPでファイル保存する時Base64とかでよく忘れちゃうこと こんちわ〜久しぶりにプログラム書いてると、久しぶりじゃなくてもよく忘れちゃうbase64の保存方法Ajaxで非同期通信してて、Laravel側(PHP)にファイルデータ渡して保存してるけど、保存したファイルが開けません問題作ったファイルをダウンロードして、見てみるとファイルは開けません!って怒られるあれれ?って思ってあ〜そうだった。base64_decodeしてねぇや。ダウンロードして・・・ファイルは開けまてん!!あれぇぇえぇ〜?ってなること良くあるある。送信したファイルについてる下の呪文を取り除くのよく忘れる。data:application/pdf;base64,data:image/png;base64,ってことで、よく忘れるのはこのファイルの先頭についてる呪文を削除してからbase64_decodeして保存しないとダメってことですよね。ちゅーことで〜今回はPDFとして〜ふぅ〜無事ダウンロードして開けました。まじで、久々に書いてたら忘れること多いなぁ・・・・ #Laravel #PHP #base64 #ファイル保存 #備忘録 #jquery #ajax 2022-06-08
CentOS Stream9 LAMP構築から色々含めて こんにちわ!今日は2月8日にリリースされたLaravel9を使おうと思ってついでに新しいOSも導入しようと思ったのでここに書く内容をほぼほぼコピペで動くだろう!って感じで書いていこうと思います〜本ブログでは、Composer、npm、certbot(let's encrypt)なども含めてご紹介します。【構成】CentOS Stream9 (さくらVPS)Apache:2.4PHP:8.0MySQL:8.0Laravel:9.1Composer:2.2.6npm:8.3python:3.9 (Let's Encrypt Certbot用)今回やりたいLarave9は必須条件がPHP8以上でしたので、どうせならと思いOSも最新の物にしようと考えました。さくらVPSのコンパネから、OSをCentOS Stream9を選択してサクッとインスールします。インストールが終わったら、sshで接続します。この時、OSを入れる際に注意書きでrootユーザーではなくcentosってユーザーが自動で作られます。rootユーザーでは直接接続ができなくなります。(あとで設定で変更できますが、それは別のお話しで)あ、それからCentOS7などまで使われてたyumコマンドが変更されてdnfとなっているので、そこも見慣れないと思いますが気にせず進めて行きましょう!sshでログインの際に、変な文章出てくるのでcockpitは削除しておきましょう。続けてFirewalldを起動させて、ポートを開放しましょう続けてApacheのインストールです!インストールされたか確認しましょう。バージョンが表示されてればOKです!\(^o^)自動起動をONにしましょう!続いて、PHPをインストールしましょう! (8.0.13) 複数ライブラリもまとめてインストールインストールされたかバージョン確認してみましょう!表示されてればOKですよ!おめでとうございます続いては、MySQLのインストールですインストールされてるかバージョンの確認バージョンが表示されてればOKです。MySQLも自動起動をONにしときましょう!初期状態では、rootユーザーがパスワードなしで MySQLに接続できるようになっていますのでパスワードを設定しましょう!設定したパスワードで入れるか確認Sequel Proなどのツールを使っていると、接続できない!ってエラー出ると思います。なので、もう少し設定していきましょう。これでSquel Proの接続してみて、接続されればOK!続いて、Laraveをインストールする為に必要な「Composer」をインストールしていきましょう。バージョン表示の確認できればOKです!さてさて、やっと本題のLaravel9のインストールですね!!サクッと行ってみましょう!!インストールが終わったらバージョン確認してみましょう。プロジェクトへ移動してバージョン表示されましたか?されてればOKですよ!!!これで、ブラウザから確認してLaravel9の画面が出てればOKです。おめでとうございます!!ここからは、Laravelを使う上で必要になってくるnpmのインストールやSSL(https)をするためにpythonやcertbotのインストールになりますので、ここまでの方はお疲れ様でした〜!!!という事で、どんどん行きましょう!Pythonのインストール。Let's Encrypt(Certbot)を使えるようにする為↑ 終わったら下記実行してCertbot(Let's Encrypt)をインストールします。インストールが終わったらバージョン確認してみましょう。続いては、いつも通りhttpsをかける設定です。↑はいつも通りのコマンドですね。OSが変わったからと言って、ここのコードが変わるわけではないです!安心安心ここで、apacheの再起動忘れずに続いてnpmのインストールです。インストール終わったらバージョン確認バージョンが表示されてたらOKです。お疲れさまでした!!補足ですが。CentOS Stream9から/etc/にあった「hosts.allow」や「hosts.deny」がなくなっています。これはsshの接続を許可するIPを制限するための設定ファイルになるんですが、ものが無い。ならどうすんだ!って思った方。安心してください!履いてますよ!(古!CentOS Stream9からは「sshd_config」で行います。usernameのところは、接続したいusernameです@の後ろはIPアドレスになります。ですが、この設定hosts.allowやdenyと違ってIPの制限はされますがパスワードの入力までは見えてしまします。そこで、もしssh自体を制限したい場合は、Firewalldで行う必要があります。Firewalldは色んな設定の仕方がありますので、Firewalld sshなどでGoogle先生に聞いてもらったほうが色々書くより早いと思います。Firewalldでsshの書かれてるところを消して、usernameなどを設定、またIPアドレスなどもそこで設定してれば問題なくhosts.allow, denyの設定のような感じになると思います。どちらにしてもsshd_configの設定は必要ですので、お忘れなく。最後にsshd_configを触ったら再起動しておきましょう。まだまだ他にも細かい設定などはありますが、そこは省きました。httpdの「ServerTokens」や「ServerSignature」などphp.iniの「expose_php」などなど。今回はとりあえず、LAMP環境構築からLaravelをインストールして、npmやcertbot(Let's Encrypt)の一通りWEBサーバーとして使えるようにする設定のご紹介でした。長かったですが、最後まで読んでいただきありがとうございました。 #CentOS #Stream9 #LAMP #Laravel #Composer #npm #certbot #ssl 2022-02-23
Dockerを使って、とりあえずLaravel~MySQLまで使えるようにしよう(構築 前編) みなさんご無沙汰してます!Docker使ってますか~!?大規模・小規模開発、関係ないです!節約につながるので、是非是非Dockerを使いましょう!!そして、少しでもサーバー構築の知識をつけてもらえたらと思います。環境はMacです。Windowsだと、すんなりインストールできる人とできない人が居るかもです。Windowsでつまずいた人は、ここらへん見るといいかも。Windows 10 + WSL 2 でDocker環境を構築する(Docker Desktop有料化対策)Windows docker起動エラー(WSL2 利用)今回の記事では、サーバー知識なくてもとりあえず、この手順通りやれば構築できるよ!?って感じでお伝えできたらと思います~!!まずは、Dockerがないと話しにならない!Dockerをインストールしましょう!(あ、Docker=ドッカーって読むみたいです)Docker公式サイト公式サイトを開いたら右上にある『Get Started』へ移動しましょう!そしたら、こんな画面になります。左の『Docker Desktop』からお使いのOSを選択しましょう!たぶん、デフォルトでお使いのOSが選ばれてると思います。画像左の『Download for Windows』って書いてる下向きになってるアイコンからOS選択できるのでそこから選んで見ましょう。AppleのM1チップをお持ちの方は、Apple Chipを選択してください。macの方CPUの確認は『アップルマーク → このMacについて』を押すとわかりますよダウンロード完了したら、インストールしてください。無事インストールが終わったらアプリを起動しましょう。※ Windowsの方は、ここで再起動しろと言われます・・・(Windowsのこう言う所うざいっすよね。右上あたりにクジラのアイコンが出てると思います!!クジラアイコンをクリックして画像部分が緑になってたら起動成功です。おめでとうございまーーーーーーーす!!!続いて、コンテナを作っていきましょう。(コンテナを作る準備をしましょう!) #Laravel #Docker #MySQL #SSH #構築 2022-01-25
2022年 明けましておめでとうございます。 新年あけましておめでとうございます。本年も、どうぞよろしくお願い申し上げます。弊社が運営できておりますのは、ひとえにお客様の暖かいご支援のお蔭と、心より御礼申し上げます。2022年は新しい取り組みの企画などを考えお客様に更にご満足いただけるようなサービスを提供できるよう、日々精進を続けてまいりたいと考えております。2021年から引き続き、世界的に新型コロナウィルスの流行が続いており、落ち着く気配もありながら、まだまだ予断を許さない状況ではありますが、弊社スタッフ一丸となり、この時世に負けない運営とクォリティを目指します。今後も弊社は現状には留まらず、お客様にご満足いただけるよう、より一層尽力してまいりますので、本年も何卒よろしくお願いいたします。 株式会社ガッツコム 代表取締役社長 住本 #謹賀新年 #令和4年 #2022年 #新年挨拶 #寅年 2022-01-01
LaravelでNamespace declaration statement has to be コントローラーを作ってアップして確認したら、急に下記のようなエラーがでた「LaravelでNamespace declaration statement has to be the very first statement or after any declare call in the script」なんだこれ・・・・ってコードを見直しても治らないと、時間を食うのも嫌なので取りあええずグーグル先生に<?phpの前に何も書いたらダメよってエラーらしいです。1行目の改行を消すとちゃんと動きました。 #Laravel #エラー #Namespace #凡ミス 2021-07-05
rsyncでバックアップしようとしたら10秒ほどで切断・・・ 最初はscpで、リモートサーバのディレクトごとまるっとローカルにコピーしようとシェルスクリプトを組んでみていざ、走らせてみたら何故か途中で切断される。おかしいなぁって思って、rsyncだとリジュームできるのでrsyncに切り替えようと書き直していざ、走らせてみたら何故か途中で切れる。うーーーん・・・・と考えこみ、グーグル先生に訪ね続け解決した。expectを導入しており、そこからローカルのcrontabで定期的にバックアップを取る仕組みを作っているのですがどうも、調べたところ「expect」はデフォルトで10秒程度しか動かないっぽい。なので、バックアップとなると結構大容量のデータになるので10秒では終わらない。教えてくれたrougeref’s diary様感謝結論としては、expect -c のあとに「set timeout -1」を入れることで解決。set timeout -1を入れることで、デフォルト10秒が無効になり時間制限が無くなる。リモートのディレクトリをまるごと圧縮してダウンロードしたりと色々試していたがまさか、こんな落ちがあったとは・・・とほほ。。。 #rsync #scp #10秒 #切断 #途中で切れる #expect #シェルコマンド 2021-02-09
LaravelでQRコードを生成、作成する 久しぶりの投稿です(汗今日はLaravelで、QRコードを生成する方法を書いていこうと思います!!・Laravel5.7・PHP7.4凄く簡単なので、サクッと行ってみよう!!まずは、Laravelのルートへ行き、Composer追加しますもし、上の設定でサーバー側のメモリが足りない!とかってエラー出た方は「エラーPHP Fatal error: Allowed memory size of {メモリの数値} bytes exhausted」下記を試して見てください!上のコマンドは、一時的にメモリのリミットを外すやり方です。Composerが終わったらapp/config.phpの中を書き換え設定が完了したら、Controllerに「use QrCode」を追加してください。あとは、bladeなどに下記のように書けばQRコードを生成してくれますよ!もし、なんかエラー出る人は、Laravelルートの「Bootstrap」ディレクトリの権限を変更してみると良いかも知れません!すごく簡単なので、試して見てくださいね!自分の備忘録も兼ねて・・・w #Laravel5.7 #QRコード #生成 #作成 #PHP 2021-02-08
Laravelでルートは合ってるのに、Not Foundが出る解決方法 Laravelをインストールしたら、初期画面の「welcome」が表示されるがRoute.phpで下記のように付け足す。この状態でURL「localhost/hoge」にアクセスしてもNot Foundと表示されている考えられる理由・.htaccess・httpd.confの設定■ .htaccessの設定。初期状態のLaravelルート/public/.htaccessを見てみる。特に問題がない。■ httpd.confの設定<directory "/var/www/html"> AllowOverride None # Allow open access: Require all granted</directory>こいつだ!!!AllowOverride None ↓AllowOverride Allへ変更してhttpd再起動。無事に表示されました。原因はこれ以外にも、あると思いますが私はこれで治りました〜もし、困っている方居たらお問い合わせください。お問い合わせは画面右下にアイコンあるのでそこからどうぞ〜 #laravel #notfound #解決 #対策 2020-12-08
Laravel4でDB(データベース)のバックアップを取る 私は、現在Laravelのバージョンは5.7や5.8を使うことが多いのですが昔使ってたLaravel4.2のバージョンでまだ動いてる物もあったりします。そこで、今回はちょっと古い情報だけど、Laravel4でもデータベースのバックアップする方法を書きます!まずは下記のリンクを参照してください。と言っても、導入のやり方なども、このあと書いて行くので見なくてもOKですLarave-Backup↑ここが本家!まずは、composerに記述しましょう!!終わったら、Laravel側のapp/config/app.phpに下記記述してください設定は以上です!簡単ですね!!サクッと終わりました!あとは、ターミナルなどでphp artisan db:backupしたら、「app/storage/dumps/」ってところに「○○○○○○○.sql」ってファイルが出来てます!!中身は、きれいにdumpデータが書かれていますね!ターミナルじゃなくて、Laravel内で動かしたい人!!わかりますよその気持。ってことで、Laravel内で動かす場合はこちら!と書けば、同じ処理が出来ます。え?ファイル名を付けれないのか?って?もちろん付けれますよ!!app/storage/dumpsに事前にディレクトリを作って、そこを指定することも出来ます。その場合はなんてことも出来ます。でも、上に書いた「app_path().'/storage/dumps/bkupfile/'」の「bkupfile」と言うディレクトリは事前に作っておきましょう!No such Directory!ってエラーで怒られます。それでは、最後にバックアップしたデータを復元する方法を書きます!本家にも書かれていますがphp artisan db:restore filename.sqlで、出来ます。ですので、先程と同じでLaravel内で同じことがしたい場合は。で、出来ますよ!!しかも、バックアップ処理速度もかなり早いので便利です。また、良い情報集めて公開しま〜す。少しでも役に立てたら、嬉しいですねぇ〜(^o^)v #laravel4 #db #bkup #backup #データベース #バックアップ 2020-04-08
Laravelで簡単にバックアップしてCronで別サーバーへFTP転送までを自動化してみた 久しぶりの投稿です。12月は忙しく、事務所の移転もしたりとバタバタでした。回線の移動が、ビビりまくりでしたねぇ!!と言うことで、本題に戻しますw今までCronを使ってシェルなどを動かしてバックアップを取っていたのですがLaravelには凄く便利なバックアップ方法がありましたので、そちらを共有したいと思います!!spatie/laravel-backup:5.* ← 5.*はLarave V5系ならこれ。Laravel 6系ならspatie/laravel-backup:5.* → spatie/laravel-backupとしてください。実行したら、だらだら〜とインストールが始まってPackage manifest generated successfully.って出たら完了です次にとすると、configディレクトリにbackup.phpが生成されます。こちらは、特に触らなくても問題ないです。一応実行だけしときます。このファイルはバックアップの場所とか色々設定ができます。ここまでしたら、一旦完了です!!すげー!簡単だ!!たぶん色々とエラーは出ると思いますが、実行はされてるはずです。エラーが出る人はphp artisan backup:run --disable-notificationsこちらで実行してみてください。実行結果は、/Laravel_Root/storage/Laravel/の中にzipファイルが出来上がります。このzipファイルの中に、LaravelのソースコードとDatabaseのdumpデータが入っています。もし、zipのパッケージが入ってない人はパッケージをインストールしてください。インストール方法はzipをインストールしたら、もう一度php artisan backup:runを実行してみてください。/Laravel_Root/storage/Laravel/ の中にzipファイルができましたか??出来てない人は、チャットなどで問合せてくださいw時間を見て順次返答してみます。ここまでで、一旦サーバーにバックアップを創ることが出来たと思います。ですが、サーバーにバックアップを取っても、サーバーがぶっ飛んだら意味がない!!!と言うことで、弊社は別のサーバーをバックアップに立てて、そちらにバックアップデータを入れています。この場合はFTPやSFTPとかでアップしてるので(scpとか使わないの?とか言わないでくださいね。)先にそちらの話しをしてみましょう!!!LaravelにはStorageクラスというものがあり、こちらが非常に便利です!!!まずは、config/filesystem.phpを開いてみましょう!!今回はFTPとしていますが、SFTPなどもいけますし見てわかるように、s3などへも簡単に出来ますよ。https://readouble.com/laravel/5.5/ja/filesystem.htmlこちらを参考にしてもらったら、Storageクラスがある程度わかると思います。細かくポートやパッシブモードなども設定できます。次に、転送させる為のコードを書くのですがこのコードを実行すると、自動的にconfig/filesystem.phpで設定した、FTPへファイルを作ります。なんとたったの1行!!すげー!さて、ここまでで、バックアップファイルの生成からFTPへ転送までが完了しましたここから、それじゃーバックアップしたデータを自動的にFTPへ転送してぇ〜よ!ってところでここで登場するのが、Cronです。Cronはサーバーで指定した時間に自動的に実行してくれる便利な機能です。Cronの設定は、各々扱うユーザーなどが違うかもなので、私の設定で書きます。まずはSSHで書かないといけないので、順に説明しながら書いていきます。急に英語でてきて、わかんねぇ!!って言わないでくださいねwとりあえず、少し話しは脱線しますが、Cronの説明をしていきます。* * * * * ← 5つの*がありますが、こちら、英語の説明を簡単に訳すと1つ目の* 分 (0〜59)2つ目の* 時間 (0〜23)3つ目の* 日 (1〜31)4つ目の* 月 (1〜12) (数字じゃなくて、jan,feb,mar,apr ...みたいに書いてもいいよ!)5つ目の* 週 (0〜6) (0:日曜、1:月曜、2:火曜、3:水曜、4:木曜、5:金曜、6:土曜) 数字じゃなくても(sun,mon,tue,wed,thu,fri,sat みたいに書いてもいいよ!)という風になっています。例題をいくつか作ってみましょう。毎日朝4時30分に実行したい場合は30 4 * * * となります。毎週月曜日の朝4時30分に実行する場合は30 4 * * 1となります。毎月1日の朝4時30分に実行する場合は30 4 1 * *となります。だいたい、わかりましたか?それでは、これで話しを本題に戻しましょう。次に、Laravel側の設定をしないといけません。/Laravel_Root/app/Console/Karnel.phpのファイルを開きます。このようになっていると思います。こちらのschedule関数の中を少し触ります。このように、登録することで、SSHからartisanコマンドで、このschedule関数を呼び出すことが出来ます。実際にやってみましょう!↑さっきは php artisan backup:runでしたが、今回はschedule:runです。schedule関数を呼び出しています。これをすることで、先程 /Laravel_Root/app/Console/Karnel.phpで書かれたschedule関数が動きます。スケジュール関数には$schedule->command('backup:clean'); //←追加$schedule->command('backup:run'); //←追加この2つを登録したので、まずは古いバックアップをクリーンにしてから、新しいバックアップを創る処理をしていますね。なので、schedule:runをしたらこちらが動きます。ほんとにわかりやすいですね〜(^o^)v続いて、この中に(不細工なやり方ではありますが....)scheduleのcall関数を使って、このままFTPへ転送の処理も書いちゃおう!これで、SSHからphp artisan schedule:runを動かすと1:古いバックアップデータをクリーンする。2:新しいバックアップを作成する。(zipの中身は、Laravelのソース+Sqlのdumpデータ)3:ファイルが出来たら、自動的に別で用意してるFTPへ転送する。という所が出来ました。ここまで来たら、あとはCronで設定するだけですね。あとは、朝4時30分になると、Cronが自動的に処理してくれます。ここまでで、Laravelの公式にも書かれているspatieを使って、Laravelのソースコードやデータベースのバックアップを取ってそれを自動的にzipファイルにしてくれて、そのzipをまるごとFTPへ転送!!なんとCronも使って全自動!ってことで、かなり長くなりましたが、これで出来ると思います。余談を書くと、zipファイルが残るようであればサーバー内の容量が食われるのでFTPの転送が終われば、Storage::deleteを使ってファイルの削除をしてたほうが良いかも知れませんね。それでは、長々となりましたが、最後まで読んでいただきありがとうございました〜ちょくちょく更新がんばります〜m(_ _)m #Laravel #DB #ソース #コード #バックアップ #backup #簡単 #cron #FTP #転送 #crontab #zip #spatie 2019-12-26