Laravelが動く環境を整える2

勉強日記
この記事は約6分で読めます。

最新か一歩手前の物までインストールしよう

とりあえずPHPを入れよう。
そうだまずはPHPだという事で最新の物を入れようと思います。

とPHPのインストールは簡単だろうと思っていたのですが今まで出た事のないエラーが。

One of the configured repositories failed (不明),
and yum doesn't have enough cached data to continue. At this point the only
safe thing yum can do is fail. There are a few ways to work "fix" this:
1. Contact the upstream for the repository and get them to fix the problem.
2. Reconfigure the baseurl/etc. for the repository, to point to a working
upstream. This is most often useful if you are using a newer
distribution release than is supported by the repository (and the
packages for the previous distribution release still work).
3. Disable the repository, so yum won't use it by default. Yum will then
just ignore the repository until you permanently enable it again or use
--enablerepo for temporary usage:
yum-config-manager --disable <repoid>
4. Configure the failing repository to be skipped, if it is unavailable.
Note that yum will try to contact the repo. when it runs most commands,
so will have to try and fail each time (and thus. yum will be be much
slower). If it is a very temporary problem though, this is often a nice
compromise:
yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true
Cannot retrieve metalink for repository: epel/x86_64. Please verify its path and try again

検索すると、メモリがいっぱいかタイムアップのエラーらしい。
検索しても結構作業が発生しそうな予感。
PHPを入れるだけでここで躓くのか・・・。
とりあえずepelリポジトリーのミラーを切ってみましたが、今度は通信が届かないとのエラー、どうしたものか。
ダメかと思ったのですが、色んなミラーを自動で試してくれるようで何とかなりました。

とりあえずPHPの7.4系を入れました。
8系は新しすぎるので安定のverにしました。
そういえばnginxを入れるので、PHP-fpmを入れないとダメだ。

全部突っ込んでしまおうと思えば、
sudo yum -y install –enablerepo=remi,remi-php74 php*
で入るのですが、それはお作法的に良くないので、使う物を入れるのが良いです。
多分この時点でPHPの付属品としては足りない物が多いですが、lalavelを入れる際に多分Composerを使うと思うので、足りない物はその時に教えて貰えます。
ComposerはPHP版の依存関係をよしなに教えてくれる物でlinuxのredhat系で言う所の yum に近いです。
じゃあyumは何なんだという話になりますが、例えばPHPを動かす時に実はPHPだけをインストールしただけじゃ動かないので、いい感じに必要な物を入れてくれるサポーター?みたいな感じです。

linuxでかなり専門的な事をやろうとするとパッケージから入れる事もあると思いますが、まずはyumで出来ないか調べた方がいいです。
過去にyumで解決出来ない事も1度ありましたが、1度しかありません。
その時はパッケージから入れて、yum のアップデートでその入れた物だけ除外してアップデートを行う様にしていました。
ほぼ無いと思いますが、yumも万能ゆえに例外的な事が出来ない時もあるので、その時は先輩エンジニアかteratailという掲示板で聞いてみましょう。
teratailは先輩にわざわざ聞くのも忍びないという心配症なあなたに速攻で答えを答えを教えてくれるサイトです。
私もバリバリエンジニアの時は良く聞いていました。
最近は活発か分かりませんが、約数十分で答えが返ってくるので有難い掲示板です。
会社が近かったこともあり、最初のオフ会に参加したこともあります(自慢・・・なのか)
teratail

teratail【テラテイル】|ITエンジニア特化型Q&Aサイト
teratail(テラテイル)はプログラミングに特化したQ&Aサイトです。実現したい機能や作業中に発生したエラーについて質問すると、他のエンジニアから回答を得られます。

まぁこの話はいいとして、PHPが入れ終わりました。
次はnginxを入れましょう。
またどうでもいい話ですが、このnginx、最初なんて呼ぶか分からず自分の中でンギンクスと呼んでいました。
まさかエンジンXなんてかっこいい呼び方に見えないですよね。

nginxはそのままyumの標準リポジトリで入れちゃいます。
勿論最新の物の方がいいのですが、herokuに上げる際にある程度最新の物に差しかわるので、表示を見る分にはverをあまり気にする必要が無いからです。

とりあえず一通りの設定を終えて自サーバーにアクセスした所、案の定見えない。
こういう時はlogを見るのが一番。

“location” directive is not allowed here in /etc/nginx/conf.d/default.conf:1

vagrantで共有フォルダを使っていた場合、良くあるエラー。
いつもこのエラーを解消する為に四苦八苦していた様な気がする。
nginx

おしい・・・のか?
まだファイルが読み取れていないようです。
ここでいつも詰まるのですが、ファイアーウィールなどをオフにしても見れない・・・。
何だ、何が悪いんだ→ファイルのパスが間違っていました。

vagrant

とりあえず、PHPとnginxの連携だけは出来ました。
このまま順調に行けばいいんですが、絶対postgresSQLのインストールで詰まります。
詰まります・・・。

コメント

Translate »
タイトルとURLをコピーしました