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 注册的端口号。