如何使用apache2
或任何其他nokogiri
解析器解析nokogiri
配置文件?我尝试用以下方式使用Nokogiri::XML
解析该文件:
parsed = Nokogiri::XML(File.open("/home/user/config"))
这没什么用。当尝试使用parsed.errors
检查对象时,我得到以下信息:
[#<Nokogiri::XML::SyntaxError: Start tag expected, '<' not found>]
是否有任何用于解析apache、编辑和保存它的宝石或其他东西?
UPD:
下面是我的配置文件:
LoadModule passenger_module /home/user/.rvm/gems/ree-1.8.7-2012.02@gemset/gems/passenger-3.0.11/ext/apache2/mod_passenger.so
PassengerRoot /home/user/.rvm/gems/ree-1.8.7-2012.02@gemset/gems/passenger-3.0.11
PassengerRuby /home/user/.rvm/wrappers/ree-1.8.7-2012.02@gemset/ruby
<VirtualHost *:80>
ServerAdmin user@localhost
RailsEnv staging
DocumentRoot /path_to_project/public
Alias /webdav /path_to_project/public/dir
Alias /webdav-some-dir path_to_project/public/dir/another_dir
ServerSignature On
<Directory path_to_project/public>
AllowOverride all
Options -MultiViews
AddDefaultCharset utf-8
</Directory>
<Location /webdav>
DAV On
AuthType Basic
AuthName "webdav"
AuthUserFile /var/www/project_name/passwd.dav
PassengerEnabled off
Require globalAdministrator
<Limit GET OPTIONS PROPFIND>
Require user username #valid-user
</Limit>
<Limit PUT POST DELETE PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
Require user username #globalAdministrator
</Limit>
</Location>
<LocationMatch "/webdav/.+/.+/.+/.+/.+/.+">
<Limit PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
Require user username #valid-user
</Limit>
</LocationMatch>
<Location /webdav-some-dir>
DAV On
AuthType Basic
AuthName "webdav"
AuthUserFile /var/www/project_name/passwd.dav
PassengerEnabled off
Require globalAdministrator
<Limit GET OPTIONS PROPFIND>
Require user username #valid-user
</Limit>
<Limit PUT POST DELETE PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
Require user username #valid-user
</Limit>
</Location>
<LocationMatch "/webdav-some-dir/.+/.+/.+/.+/.+">
<Limit PUT POST DELETE PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
Require user username #valid-user
</Limit>
</LocationMatch>
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
发布于 2012-04-03 13:26:30
Apache配置文件是无效的XML。它有类似XML的标记(很可能是类似SGML的)标记来分组选项,但它绝不是XML。尝试使用apache_config gem来解析配置文件,尽管它似乎没有得到维护。
发布于 2012-04-03 13:26:08
Hash.from_xml(File.open("/path/to/config", "r").read)
如果这不起作用,你也应该在这里张贴配置文件的内容.
发布于 2012-04-04 01:22:34
你想做什么?我认为你的应用程序不应该担心它正在运行的apache设置.
https://stackoverflow.com/questions/9994079
复制相似问题