仮想ホストを作成/変更し、Rails アプリ内から Apache をリロードする

StackOverflow https://stackoverflow.com/questions/2486843

質問

私のアプリケーションは 2 つの Rails アプリケーションのセットです。最初のアプリのいくつかのパラメーターに基づきます。2 番目のアプリの仮想ホストをセットアップする必要があります。Apache VH で ServerName と ServerAlias を変更し、a2ensite を使用してサイトを有効にしてから、「apache2 reload」を実行するだけです。

Rails アプリケーション内からこれを行うにはどうすればよいですか?

ありがとう、イムラン

役に立ちましたか?

解決

初めに:Web アプリでサーバー構成を変更できるようにすると、セキュリティ リスクが生じることに注意してください。

#  First, open the config file
fd=File.open('/etc/apache2/sites/yoursite', 'r+')
#  read in the contents
content=fd.read
#  now replace the ServerName and ServerAlias lines with your new setting
if content.gsub!(/ServerName(.*)/,"ServerName NewServerName") and content.gsub!(/ServerAlias(.*)/,"ServerAlias NewServerAlias")
  fd.rewind
  puts "\tsaving file"
  fd.write content
end
fd.close

テストしませんでした コードも正規表現も使用しない場合は、構成ファイルの関連部分をrubular.comにロードし、独自の正規表現をロールしてください。

保存する前にバックアップを作成することも必要かもしれません

File.copy(file,file+".bak",true)
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top