質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

Q&A

解決済

7回答

3189閲覧

Webサイトを公開する方法

HelloWorld2

総合スコア32

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

サーバ

サーバは、 クライアントサーバモデルにおいてクライアントからの要求に対し 何らかのサービスを提供するプログラムを指す言葉です。 また、サーバーソフトウェアを稼動させているコンピュータ機器そのもののことも、 サーバーと呼ぶ場合もあります。

0グッド

2クリップ

投稿2019/03/19 11:43

編集2019/03/19 12:08

※初歩的な質問です。すみません。

やりたいこと

  • Webサイトを公開したい(ローカルだけでなく一般的なサイトのように別のPC等からアクセスしたい)
  • 使用する言語はPHPを想定。
  • フレームワークを使用したい(Laravelかcakeか、何を使用するかは未定です)
  • DBはMySQLを想定していますが、PHPでアクセス可能であれば何でもOK。
  • 一旦お試しで公開したいだけなので、コストはかけたくない。

※用途としては、自宅PCや会社のPC、他の一部の人のPCで見れればよく、パフォーマンスはあまり重要視していません。

知りたいこと

  1. Webサイトを公開するまでの手順は何でしょうか?(プログラム作成→レンタルサーバ等にupだけでしょうか?)
  2. レンタルサーバにupする以外の選択肢はあるのでしょうか?(自PCにアクセスさせる、自サーバを立てる以外)
  3. 上記のやりたいことを満たす、無料のレンタルサーバは存在しますでしょうか?(PHP、MySQLを使用できる無料レンタルサーバはいくつか見つかっていますが、フレームワークは自分で自由に導入できるのでしょうか?)
  4. 上記質問に付随して、おすすめの無料レンタルサーバ、または格安レンタルサーバは何でしょうか?

非常に初歩的な質問で恐縮ですが、ご回答頂けると幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答7

0

自宅PCや会社のPC、他の一部の人のPCで見れればよく

それってほぼ全世界ですよね。
自宅PCと会社のPCはネットワーク違うでしょうし、「他の一部の人」もそうです。
スマートフォンやその他(例えばPS4とかインターネット接続可能な機器)からのアクセスはどうかとかもっと詰める必要があると思います。

「いやとりあえず公開したい」というのであれば、
そこはPHPが使えて、LaravelやCakePHPの使いたいバージョンの環境要件に合うレンタルサーバーを探して使うだけかなと。
あとは検索エンジンのクローラーにアクセスさせないようにしてベーシック認証をかけると、とりあえずOKですね。

その前に、ローカルPCでも仮想環境でも良いので、きちんと作られては如何でしょうか。動くものができていないと公開もなにもないです。

投稿2019/03/20 00:59

m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

HelloWorld2

2019/03/20 05:51

ご指摘ありがとうございます。 検索させないなんてこともできるんですね!知りませんでした。 動くものを先に作る、という点はごもっともですが、cakeを使って開発したけど、レンタルサーバがLaravelしか対応してない、なんてことを防ぐために、先にレンタルサーバを決定したい次第です。
m.ts10806

2019/03/20 05:58

「Googleによる検索」はあくまで「Googleのクローラー(ロボット)」が巡回していて情報を集めて検索結果に表示するかどうかを決めているだけです。 そのクローラーに巡回させない様にすれば検索結果にヒットすることはなくなります。CMSなんかで管理画面にはその対策が必ずとられますね。 ただし、URL直うちでのアクセスは可能であるため、ベーシック認証をかけて「知ってる人しかアクセスできないように」対策をしますが、既に回答に出ているように万全ではないので、「とりあえず」です。 フレームワークには環境要件がつきものなので、その環境要件を満たしていれば基本は大丈夫です。もし気になるのであればサーバー運営元に問い合わせてみることですね。バージョン(マイナーバージョンも含めて)対応しているか。
guest

0

1.自宅のルーターを設定して、パソコンをDMZ領域に置くようにすれば、外部からIPアドレスでそのパソコンまでアクセスできてweb公開ができる。
→無料で済むが、ルーターの設定にコツが要るのと、へたにパソコンをネットに晒すことでクラックされたりする恐れもある。

2.時間単位で借りられるクラウド系サーバーを借りて、web公開したいときだけ電源を入れてネットに公開するようにする。
(電源というのは、webブラウザ越しにコントロールパネルなどからサーバーを止めることができる、止めると課金が止まる。)
たとえばConohaとかさくらのクラウドとか。
→少額とはいえお金がかかるし、クレジットカード決済が必要だったりする。

無料でやりたい気持ちはわからなくもないが、
無料をうたうレンタルサーバーはそういう考えの人が有象無象いて
サーバーとしてのパフォーマンスが悪かったり、
広告バナーが常時表示されて都合悪かったりするので、
おすすめできません。
月額千円行かないくらい(数百円規模)で、そこそこ使えるサーバーを借りられるよ。

投稿2019/03/19 11:49

編集2019/03/19 11:54
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

HelloWorld2

2019/03/19 12:06

ご回答ありがとうございます。無料はパフォーマンスが悪いのですね。 ただ今想定しているプログラムとしては、多くの人に見てもらうことが目的ではなく、ほぼ個人使用に近い形で、自宅PCや会社のPC、一部の他人(私が見てほしい人)が見れればOKな想定なので、パフォーマンスとしてはあまり必要ない想定でした。(追記しておきます。ありがとうございます)
退会済みユーザー

退会済みユーザー

2019/03/20 00:39

個人など限られた利用であれば、拠点間VPNを開設すれば解決しますね。ネット上に公開する以上、IPアドレス総当たり的なことをしないまでもいずれ第三者がたどり着き、いたずらしないとも限りませんので。
退会済みユーザー

退会済みユーザー

2019/03/20 01:15

トップページにBASIC認証を設けて、アクセス用アカウントを持っている人だけが観られる、という方法もあるけど、万全ではないので。
guest

0

お試しということも踏まえてお勧めを書きますね。

1. ローカル公開する場合

ngrokを使って簡単にローカル環境を一時的にインターネットからアクセス可能に出来ます。
DMZ設定してDDNS使って公開といった古い方式は、恒久的に自前サーバーをインターネット公開する際には致し方ありませんが、セキュリティーや簡便性を考えると全くお勧めできません。

https://dashboard.ngrok.com/

初回の認証

./ngrok authtoken <上記で発行したトークン>

公開開始

./ngrok http 80

公開したいフォルダで以下のようにしてWebサーバー起動

sudo php -S localhost:80

ngrokで吐き出された一時URLにアクセスすればOK
html, phpなど拡張子によって自動的に表示、実行されます。

上記はMacの例ですがWindowsでも至極簡単に同様の事が出来ます。
ただ、DBのインストールなどは別途する必要もあるのでその辺り少し面倒です。

2. 全て外部サービスで行う場合

Herokuが簡単です。AWS(EC2)のように自分でインフラ整備をせずにいきなりアプリ環境だけを構築すれば良いからです。DBについても簡単に導入、連携できます。
初回は以下のように若干の手順がありますが、EC2構築などと比べれば非常にシンプルです。

  • composerのインストール

  • Larabelインストール

  • HerokuのCLIをインストール

  • heroku login

(ブラウザ経由でログインを完了)

  • herokuアプリを作成する
$ touch Procfile

viエディタなどで以下の内容として保存。

web: vendor/bin/heroku-php-apache2 public/

gitを使ってHerokuにPush

$ git init $ heroku git:remote -a 作ったアプリ $ git add . $ git commit -m "initial commit" $ git push heroku master
  • herokuのアドオンにcleardbを作成する

  • .envに以下設定を行う

heroku config:set DB_DATABASE=heroku_xxxxxxxxxxxx heroku config:set DB_HOST=us-xxxxxxxxxxxxxxxxxxxx heroku config:set DB_USERNAME=xxxxxxxxxxxxx heroku config:set DB_PASSWORD=xxxxxxxxxxxxx
  • マイグレーションを実行(DBテーブルの作成)

  • 公開

heroku open

投稿2019/09/23 02:21

cnx

総合スコア19

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ルータでポート80をフォワードするだけで自宅サーバーを公開することは可能です
IPアドレスが固定でない場合でもDDNSなど利用すれば問題ありません
注意スべきことはたくさんありますがまずは外側へphpMyAdminなど開放しないことです

投稿2019/03/20 00:43

yambejp

総合スコア114833

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

HelloWorld2

2019/03/20 05:56

ご回答ありがとうございます。 ルータの設定だけでも自宅サーバを公開することが可能なのですね!思ってたよりお手軽なんですね! ただやはりレンタルサーバにしようかなと。。。
guest

0

ベストアンサー

  1. Webサイトを公開するまでの手順は何でしょうか?(プログラム作成→レンタルサーバ等にupだけでしょうか?)

はい、細かい手順はありますが、大まかにはそれだけで Web サイトを公開できます。

  1. レンタルサーバにupする以外の選択肢はあるのでしょうか?(自PCにアクセスさせる、自サーバを立てる以外)

広い意味ではレンタルサーバーになりますが、最近では VPSクラウドサービスを利用するのが主流になっています。

  1. 上記のやりたいことを満たす、無料のレンタルサーバは存在しますでしょうか?(PHP、MySQLを使用できる無料レンタルサーバはいくつか見つかっていますが、フレームワークは自分で自由に導入できるのでしょうか?)

従来型のレンタルサーバー(ロリポップ!エックスサーバーなど)ではなく、クラウドサービスであれば、言語やフレームワークを自由に選択できます。
ただし、無料プランはマシンスペックや機能に制限があります。

  1. 上記質問に付随して、おすすめの無料レンタルサーバ、または格安レンタルサーバは何でしょうか?
  • Heroku(無料プランあり)
  • AWS(アカウント開設後1年間は無料枠あり)
  • さくらのVPS(685円/月、初期費用1,080円〜)

投稿2019/03/19 22:07

編集2019/03/20 08:17
nskydiving

総合スコア6500

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

HelloWorld2

2019/03/20 06:06

ご回答ありがとうございます! 追加で質問ですが、 ①従来型のレンタルサーバとは、物理サーバのことで、その場合は使用できるフレームワークは限定される、または明示されていない場合はフレームワークは使用できない、ということですか? Herokuは無料プランということなので、調べてみようと思います。
nskydiving

2019/03/20 08:36

申し訳ありません、説明不足なところがありました。 「従来型のレンタルサーバー」とは、VPS やクラウドサービス(IaaS や PaaS など)ではないレンタルサーバーのことを指しています。 従来型のレンタルサーバーの代表的なサービスとして、「ロリポップ!」や「エックスサーバー」などがあります。 物理サーバーのところもありますが、格安プランの場合は仮想サーバーになると思います。 従来型のレンタルサーバーは、VPS やクラウドサービスと比べると自由度が低いので注意が必要です。 使用できる言語やフレームワークは、各レンタルサーバーのサイトに案内があると思いますので、調べてみてください。
guest

0

多分他の人が答えてくださると思いますので、レンタルサーバー以外の方法を記載します。

プログラム作成→レンタルサーバ等にupだけでしょうか?

だけではありません。
ngrok
https://qiita.com/mininobu/items/b45dbc70faedf30f484e
という方法もあります。

ややハードルは高いですが、

一旦お試しで公開したいだけなので、コストはかけたくない。

という点を重視しました。

投稿2019/03/19 11:51

yut148

総合スコア752

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

HelloWorld2

2019/03/19 12:02

ご回答ありがとうございます。 改めて質問ですが、①こちらはPCを立ち上げっぱなしではないといけませんか?②ハードルは高い=自PCへアクセスさせるため要するセキュリテイレベルが高いということですかね?
yut148

2019/03/19 12:05

>①こちらはPCを立ち上げっぱなしではないといけませんか? 自分もやった事はないのですが、多分立ち上げっぱなしでしょう。 セキュリティレベルより、インストールなどは、ハードルが高いと表現した次第です。
HelloWorld2

2019/03/19 12:09

なるほど、立ち上げっぱなしはPCのバッテリーの寿命的にもなかなか厳しいですね。
guest

0

あなたが使用している回線が光回線などの場合は、自宅にサーバ立てて公開する、ということが可能です
そうでない場合には、レンタルサーバを借りてそこで公開となりますが、無料のところもあったりするので探してみてください

投稿2019/03/19 11:50

y_waiwai

総合スコア87774

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

HelloWorld2

2019/03/19 12:03

やはりレンタルサーバでの公開となるのですね。ありがとうございます。
y_waiwai

2019/03/19 12:07

「無料 レンタルサーバ」でぐぐるとたくさん出てきますんで、とりあえずはそういうところで試してみては。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問