openSUSE:WebYaST 安装
WebYaST 安装版本 >= 0.3
0.3 版本比旧版本简单得多。我们将两个 Web 服务器(服务/客户端)整合在一起。因此现在只需要一个 HTTP 服务器。此外,我们还用更新的 polkit 替换了旧的 PolicyKit,以保持与最新 Linux 发行版的兼容性。
使用一键安装 (简短的故事)
最简单的方法是一键安装,它已经安装在您的 openSuSE 上。
安装
WebYaST 的 YaST 一键安装可以在 https://software.opensuse.net.cn/package/webyast-base 找到
如果您希望有一个系统托盘图标,可以轻松启动/停止 WebYaST,请同时安装 QWebYaST; https://software.opensuse.net.cn/package/qwebyast?search_term=qwebyast
启动和管理 WebYaST
WebYaST 是一个在您系统上的一个 HTTP 服务器上运行的 Web 应用程序。为了启动和管理此服务器,有一个不错的 Qt 小程序,可以在例如 KDE 中启动
启动 WebYaST 小程序后,WebYaST 图标将出现在框架的右边缘
WebYaST 已禁用
WebYaST 已启用
使用右键单击可以管理 WebYaST
使用此小程序,您也可以在浏览器中启动 WebYaST。在接受 GPG 密钥后,请使用“root”帐户登录。
从软件包 (RPM) 安装和运行 (长篇故事)
安装
所有 Web-YaST 软件包都具有 webyast-* 前缀,应选择安装。如果您想使用上面描述的 WebYaST 小程序,请同时安装 qwebyast 软件包。
如何使用 WebYast
如果您不想通过 WebYaST 小程序启动 WebYaST,也可以在控制台中启动 WebYaST
rcwebyast start
现在您可以使用任何浏览器并连接到您的计算机 'http://<您的计算机名称>:54984'。WebYaST 的默认权限设置为仅 root。因此,您可以使用该机器的 root 密码登录。
从源代码 (GIT) 安装 (最长篇的故事)
此过程适用于纯 openSUSE 11.4 及更高版本的安装。目标是在本地用户(我们称他为 tux)下运行 WebYaST HTTP 服务器。
源代码应基于官方 GIT 存储库,以保持最新并检查更改。
安装
更改为用户 root 以准备您的系统
su
不要使用“su -”或“su - root”。这样我们保留了本地用户 ENV。
使用以下命令安装所需的软件包
zypper ar http://download.opensuse.org/repositories/YaST:/Web:/WebYaST/openSUSE_11.4/ WebYaST zypper in git make rubygem-rake rubygem-rails rubygem-rcov
切换回用户 tux 并将 GIT 存储库检出到具有授予访问权限的目录。
git clone git://github.com/webyast/webyast.git cd webyast
切换回 root
su
准备 WebYaST 环境
rake system_check_packages[install]
此调用检查是否安装了所有需要的软件包(通过 *.spec 文件)。将调用 Zypper 安装所需的软件包。
rake deploy_devel_all
部署所有需要的文件并授予所需的访问权限。
为了从“外部”访问并获取系统信息,请调用
rcSuSEfirewall2 stop rccollect start
启动和管理 WebYaST
切换回用户 tux 并启动 WebYaST 服务器
cd webyast start.sh
现在您可以使用任何浏览器并连接到您的计算机 'http://<您的计算机名称>:4984'。WebYaST 的默认权限设置为仅 root。因此,您可以使用该机器的 root 密码登录。
WebYaST 安装版本 < 0.3 (openSUSE_12.1, SLES11)
使用一键安装 (简短的故事)
最简单的方法是一键安装,它已经安装在您的 openSUSE 上。
安装
只需使用像 firefox 这样的 Web 浏览器和 URL
浏览器将要求您通过一键安装启动安装。启动安装并完成安装流程。
启动和管理 WebYaST
WebYaST 是一个在您的系统上的两个 http 服务器上运行的 Web 应用程序。为了启动和管理这些服务器,有一个不错的 Qt 小程序,可以在例如 KDE 中启动
启动 WebYaST 小程序后,WebYaST 图标将出现在框架的右边缘
WebYaST 已禁用
WebYaST 已启用
使用右键单击可以管理 WebYaST
使用此小程序,您也可以在浏览器中启动 WebYaST。在接受 GPG 密钥后,请使用“root”帐户登录。
从软件包 (RPM) 安装和运行 (长篇故事)
安装
构建服务项目位于 此处
包含最新软件包的存储库位于 此处
由于一些额外的软件包(例如 nginx)未包含在 openSUSE 11.3 中,因此您应该添加一个存储库(例如 factory)以提供这些软件包。当前版本只需要 ruby 扩展 存储库。
Web-YaST 核心 包含以下软件包
- 服务器端(在受管理系统中运行)
- webyast-base-ws(核心服务)
- 客户端(向浏览器提供 html 页面)
- webyast-base-ui(Web 客户端)
在此之上,可以添加提供管理功能的模块
- webyast-*-ws(Web 服务插件)
- webyast-*-ui(Web 客户端插件模块)
请参阅 可用软件包 的完整软件包列表,了解有关可用软件包和模块的详细信息。
所有其他需要的软件包(ruby-rpam、rubygem-gettext、yast2-core 版本较新等)也位于此存储库中,并将由于 yast2-web* 软件包的依赖关系而安装。
如何使用 YaST-Webservice
启动和访问
安装这些软件包后,您可以使用以下命令启动 YaST-Webservice-Server
rcyastws start
服务器在“localhost:4984”上运行,您可以使用 Web 浏览器连接到该服务器
https://:4984
此“纯”网页显示可通过 REST 接口使用的可用模块。
配置
其他配置内容,例如
- 设置主机名和端口
- 设置 HTTPS 连接
- 授予单个用户的权限
可以在 配置 部分找到此处。
注意:这已经在 RPM 软件包安装期间完成。
如何使用 YaST-Webclient
启动 YaST-Webservice-Server 后,您也可以启动 YaST-Webclient
rcyastwc start
现在您可以使用任何浏览器并连接到您的计算机 'https://<您的计算机名称>:54984'。YaST Webservice 的默认权限设置为仅 root。因此,您可以使用该机器的 root 密码登录。
测试套件子软件包
WebYaST 测试套件文件打包到单独的 *-testsuite 子软件包中。这些软件包不需要在运行时(用于正常的 WebYaST 使用),因此不应默认安装。
这些软件包仅提供验证 WebYaST 本身的一些(理想情况下全部)功能的可能性。
如何运行测试(在非 root 用户下)
# change the directory to the selected WebYaST plugin (or the main application) cd /srv/www/yast/vendor/plugins/<plugin_to_test>
# set the location of the main application directory export RAILS_PARENT=/srv/www/yast # set the path to testing DB (any writable location for the current user) export TEST_DB_PATH=~/webyast_test.sqlite3 # set the test mode export RAILS_ENV=test
# create the testing DB rake db:create rake db:schema:load
# and finally run the tests rake
完成测试后,可以安全地删除测试 DB 文件 (~/webyast_test.sqlite3 在这种情况下)。
注意:由于日志文件无法供非特权用户访问,因此所有日志消息都将打印到控制台。这包括用于测试一些意外情况的模拟错误,因此打印错误消息并不意味着存在问题。实际结果是彩色打印的摘要(如果当前终端支持颜色),例如:
57 个测试,88 个断言,0 个失败,0 个错误,0 个挂起,0 个遗漏,0 个通知
如果出现错误,则消息将以红色或黄色打印。
从源代码 (GIT) 安装 (最长篇的故事)
安装 WebYaST REST 服务组件
有关技术实现细节,请参阅 REST 服务。此页面介绍从源代码安装和启用 yastws(和 root)以运行它。
打包的 WebYaST rest-service 使用 https 和 lighttpd 作为 http 服务器 - 本文档不涵盖这些功能的部署。
下载源代码
git clone git://gitorious.org/opensuse/yast-rest-service.git
WebYaST 现在位于 Gitorious 上,并拥有自己的 开发者组。在 Gitorious 上评论其他人的代码非常容易,并且很多沟通都是通过这种方式进行的。
即使从源代码部署非常简单,但获取正确的软件包也不是一件容易的事。
获取“正确的”软件包
此过程适用于 openSUSE 11.1、11.2 和 SLE11 安装。
Ruby on Rails
添加具有适当版本的 ruby on rails (2.3.4) 的存储库。WebYaST 对 rails 版本很挑剔,这与其他许多 rails 应用程序一样。
zypper addrepo http://download.opensuse.org/repositories/openSUSE:/Tools/openSUSE_11.1/ "openSUSE:Tools"
并安装 rails rubygem
zypper in rubygem-rails-2_3
其他需要的软件包
我们正在从源代码安装 yast-rest-service,但我们仍然需要来自 YaST:Web 项目的一些其他软件包。
zypper addrepo http://download.opensuse.org/repositories/YaST:/Web/openSUSE_11.2 "YaST:Web" zypper in rubygem-rcov rubygem-sqlite3 rubygem-test-unit ruby-rpam ruby-dbus ruby-polkit collectd rubygem-static_record_cache
Collectd 用于收集 Status 模块的数据,因此是可选的。要设置它,请运行
insserv collectd rccollectd start
Mocha rubygem(需要运行测试)和 Gettext 可在 devel:languages:ruby:extensions 项目中找到。YaST2 DBUS 客户端和服务器是 openSUSE(SLE)的一部分。
zypper addrepo http://download.opensuse.org/repositories/devel:/languages:/ruby:/extensions/openSUSE_11.2 "devel:languages:ruby:extensions" zypper in rubygem-mocha rubygem-gettext_rails yast2-dbus-client yast2-dbus-server rubygem-http_accept_language
YaST 软件包更新
一些 YaST 模块必须增强才能处理 WebYaST 调用。这些更新可在 YaST:Web 项目中找到,但由于 zypper 中的一个错误(bnc#522223),更新并不简单。即使“zypper in -r REPO package”也不起作用。我们必须找到软件包的确切版本,并将其提供给 zypper 命令行
zypper search -r "YaST:Web" -s yast2-users
或者使用一个搜索找到所有版本
zypper search -r "YaST:Web" -s yast2
然后使用我们找到的版本安装(更新)所有这些版本。
zypper in yast2-users-2.17.28.2 yast2-2.17.70.1 yast2-storage-lib-2.17.78 yast2-storage-2.17.78 \ yast2-registration-branding-openSUSE-2.17.28 yast2-registration-2.17.28 yast2-pkg-bindings-2.17.38 \ yast2-network-2.17.78.1 yast2-country-data-2.17.34.2 yast2-country-2.17.34.2
Webservice rake 任务
WebYaST 开发者将所有通用 rake 任务放入一个 rubygem - webyast-rake-tasks。我们通过以下方式安装它们
cd yast-rest-service/webservice-tasks rake package-local sudo gem install package/webyast-rake-tasks-<version>.gem cd -
安装 gem 需要以 root 身份完成,插入与上面创建的 gem 相匹配的版本。
Rest 服务部署
在经历了一系列软件包更新的麻烦之后,部署 rest-service 变得相当容易。这将收集所有模块的策略,并授予使用它们的 root 权限。它还将迁移数据库并创建必要的目录和配置文件,某些模块需要这些目录和配置文件。
cd yast-rest-service sudo rake deploy_devel_all cd -
部署需要以 root 用户身份进行,因为它会在 /etc/ 目录下创建/修改文件。
启动 HTTP 服务器
要从命令行以 yastws 用户身份运行 rest-service 服务器,我们输入
cd yast-rest-service/webservice su yastws script/server -p 4984
端口 4984 是 IANA 注册的端口号。
跳过基础系统设置
当我们第一次运行 Webyast 时,系统会引导我们进入一个“向导”,该向导由几个模块组成。其中一个模块也是“注册 SLE”模块,该模块无法在 openSUSE 上成功使用。因此,必须使用此行来跳过基础系统设置
touch /var/lib/yastws/basesystem/finish
安装 WebYaST web 客户端组件
此页面介绍从源代码安装。
打包的 WebYaST web-service 使用 https 和 lighttpd 作为 http 服务器 - 本文档不涵盖这些功能的部署。
下载源代码
git clone git://gitorious.org/opensuse/yast-web-client.git
WebYaST 现在位于 Gitorious 上,并拥有自己的 开发者组。在 Gitorious 上评论其他人的代码非常容易,并且很多沟通都是通过这种方式进行的。
安装所需软件包
要从 .sass 文件动态生成 CSS,需要 rubygem-haml
zypper in rubygem-haml
Web 客户端 rake 任务
如果需要,则从其 Sass 模板更新样式表。
rake sass:update
为了减少大小和 HTTP 连接的数量,CSS 文件应该被压缩并捆绑在一起。
cd webclient rake css:min
JavaScript 文件也应该这样做
cd webclient rake js:base
状态模块
cd .. cd /plugins/status rake js:status
用户模块
cd yast-web-client/plugins/users rake js:users
Web 客户端部署
部署 web-client 本身相当容易。这将构建 gettext 翻译(.po => .mo),并迁移数据库。
cd yast-web-client rake deploy_devel_all cd -
openSUSE 11.2 或更高版本
在运行 deploy_devel_all 时,您可能会遇到 gettext 的问题。相反,在 OS11.2 或更高版本上运行
cd yast-web-client/webclient rake db:migrate cd -
启动 HTTP 服务器
我们可以以任何用户身份运行 web-client。要从命令行运行 web-client 服务器,请输入
cd yast-web-client/webclient script/server -p 54984
端口 54984 是 IANA 注册的端口号。

