1

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

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

ありがとう、イムラン

4

1 に答える 1

1

まず第一に、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)
于 2010-04-17T15:02:51.183 に答える