Browse code

Auto start http server in OSTree Server.

Touseef Liaqat authored on 2015/08/13 21:30:43
Showing 10 changed files
... ...
@@ -59,6 +59,7 @@ make %{?_smp_mflags}
59 59
 make DESTDIR=%{buildroot} install
60 60
 
61 61
 install -vdm755 %{buildroot}/usr/lib/systemd/system
62
+install -vdm755 %{buildroot}/etc/httpd/logs
62 63
 
63 64
 cat << EOF >> %{buildroot}/usr/lib/systemd/system/httpd.service
64 65
 [Unit]
... ...
@@ -68,8 +69,8 @@ After=network.target remote-fs.target nss-lookup.target
68 68
 [Service]
69 69
 Type=notify
70 70
 
71
-ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND
72
-ExecReload=/usr/sbin/httpd $OPTIONS -k graceful
71
+ExecStart=/usr/sbin/httpd \$OPTIONS -DFOREGROUND
72
+ExecReload=/usr/sbin/httpd \$OPTIONS -k graceful
73 73
 KillSignal=SIGWINCH
74 74
 KillMode=mixed
75 75
 Restart=always
... ...
@@ -118,6 +119,7 @@ fi
118 118
 %{_sysconfdir}/httpd/error/*
119 119
 %{_sysconfdir}/httpd/htdocs/*
120 120
 %{_sysconfdir}/httpd/icons/*
121
+%dir %{_sysconfdir}/httpd/logs
121 122
 
122 123
 
123 124
 %changelog
... ...
@@ -19,7 +19,8 @@ BuildRequires:   python2-libs
19 19
 BuildRequires:   python2-devel
20 20
 BuildRequires:   python2-tools
21 21
 BuildRequires:   glib-networking
22
-Requires:	libxml2
22
+Requires:        libxml2
23
+Requires:        glib-networking
23 24
 
24 25
 %description
25 26
 libsoup is HTTP client/server library for GNOME
... ...
@@ -1,27 +1,17 @@
1
-{
2
-    "packages":["glibc", "zlib", "filesystem",
3
-                "libgcc", "libstdc++", 
4
-                "sed", "bzip2", "pkg-config", "readline", "ncurses", "bash",
5
-                "cracklib", "cracklib-dicts", "cracklib-python", "shadow", 
6
-                "coreutils", "grep",
7
-                "findutils", "tar",
8
-                "xz", "grub2", "kmod", "grub2-efi",
9
-                "util-linux", "e2fsprogs",
10
-                "expat",
11
-                "linux", "cpio",
12
-                "Linux-PAM", "attr", "libcap", "systemd", "dbus",
13
-                "elfutils-libelf", "sqlite-autoconf", "nspr", "nss", "popt", "lua", "rpm",
14
-                "gptfdisk", "gzip", "openssl", "python2", "python2-libs", "python-requests",
15
-                "pcre",
16
-                "libgsystem", "ostree","device-mapper","device-mapper-libs","libsepol","libselinux", 
17
-                "db", "libsolv",
18
-                "dracut", "dracut-tools",
19
-                "gpgme", "gpgme-devel", "hawkey", "python-hawkey", "json-glib", "glib",
20
-                "libarchive", "libarchive-devel", "libassuan", "libffi",
21
-                "libgpg-error", "libhif", "libhif-devel",
22
-                "librepo", "librepo-devel", "libsoup", "libsoup-devel",
23
-                "libxml2", "mkinitcpio", "openssl-devel",
24
-                "yum", "libtasn1", "nettle", "nettle-devel", "gnutls",
25
-                "gnutls-devel", "glib-networking", "ostree", "gmp",
26
-                "dosfstools", "pciutils", "efivar", "efibootmgr"]
1
+{   
2
+    "packages": ["gc", "gmp", "libgcc", "libunistring", "libltdl", "libstdc++", "libffi",
3
+            "xz", "attr", "openssl", "pcre", "guile", "ca-certificates",
4
+            "kmod", "glib", "autogen", "libtasn1", "bzip2", "libcap", "Linux-PAM",
5
+            "nettle", "filesystem", "systemd", "gnutls", "python2", "glibc", "libgpg-error",
6
+            "bash", "libassuan", "gpgme", "libsolv", "util-linux", "glib-networking",
7
+            "openssl-devel", "libselinux", "libxml2", "expat", "curl", "coreutils",
8
+            "libsepol", "popt", "gobject-introspection", "rpm-devel", "db", "sqlite-autoconf",
9
+            "nspr", "libxml2-devel", "hawkey-devel", "lua", "libarchive", "nss", "rpm", "librepo",
10
+            "librepo-devel", "dracut", "cracklib", "ncurses", "zlib", "file", "elfutils-libelf",
11
+            "libsoup", "device-mapper-libs", "hawkey", "readline", "libsoup-devel", "device-mapper",
12
+            "mkinitcpio", "python2-libs", "dracut-tools", "libgsystem", "nettle-devel", "libhif",
13
+            "libtasn1-devel", "libarchive-devel", "cracklib-dicts", "findutils", "efivar", "grub2",
14
+            "cpio", "shadow", "dbus", "python-requests", "pkg-config", "dosfstools", "sed", "json-glib",
15
+            "python-hawkey", "libhif-devel", "grub2-efi", "linux", "cracklib-python", "gpgme-devel",
16
+            "grep", "ostree", "tar", "efibootmgr", "pciutils", "gnutls-devel", "e2fsprogs", "gzip", "gptfdisk"]
27 17
 }
... ...
@@ -1,9 +1,15 @@
1 1
 {
2
-    "packages":["filesystem", "glibc", "bash", "bzip2", "dracut", "dracut-tools",
3
-                "glib", "gpgme", "gpgme-devel", "hawkey", "json-glib",
4
-                "libarchive", "libarchive-devel", "libassuan", "libcap", "libffi",
5
-                "libgcc", "libgpg-error", "libgsystem", "libhif", "libhif-devel",
6
-                "librepo", "librepo-devel", "libsolv", "libsoup", "libsoup-devel",
7
-                "libxml2", "mkinitcpio", "openssl-devel", "ostree", "pcre", "rpm",
8
-                "sqlite-autoconf", "systemd", "xz", "yum", "zlib", "ostree", "rpm-ostree"]
2
+    "packages": ["gc", "libunistring", "libffi", "libltdl", "gmp", "guile", "openssl",
3
+                 "autogen", "ncurses", "ca-certificates", "libtasn1", "e2fsprogs", "nettle",
4
+                 "bzip2", "e2fsprogs-devel", "xz", "readline", "glibc", "sqlite-autoconf",
5
+                 "bash", "python2", "nspr", "gnutls", "filesystem", "libgcc", "krb5",
6
+                 "libassuan", "libxml2", "expat", "gdbm", "openssl-devel", "popt", "curl",
7
+                 "nss", "gpgme", "systemd", "libsolv", "coreutils", "lua", "libgpg-error",
8
+                 "elfutils-libelf", "libcap", "glib", "glib-networking", "file", "Linux-PAM",
9
+                 "kmod", "util-linux", "libstdc++", "attr", "zlib", "rpm", "pcre", "perl",
10
+                 "cyrus-sasl", "libsoup", "db", "hawkey", "librepo", "dracut", "libxml2-devel",
11
+                 "libarchive", "apr", "hawkey-devel", "gobject-introspection", "librepo-devel",
12
+                 "rpm-devel", "libarchive-devel", "libgsystem", "dracut-tools", "libsoup-devel",
13
+                 "mkinitcpio", "openldap", "postgresql", "libhif", "json-glib", "apr-util",
14
+                 "ostree", "httpd", "rpm-ostree"]
9 15
 }
10 16
new file mode 100644
... ...
@@ -0,0 +1,2 @@
0
+#!/bin/bash
1
+ifconfig | grep inet | grep -v "127.0.0.1" | grep -v inet6
0 2
new file mode 100644
... ...
@@ -0,0 +1,14 @@
0
+[Unit]
1
+Description=The Apache HTTP Server
2
+After=network.target remote-fs.target nss-lookup.target
3
+
4
+[Service]
5
+Type=forking
6
+ExecStart=/usr/sbin/httpd -f /srv/rpm-ostree/ostree-httpd.conf -DFORGROUND
7
+ExecReload=/usr/sbin/httpd -f /srv/rpm-ostree/ostree-httpd.conf -k graceful
8
+KillSignal=SIGWINCH
9
+KillMode=mixed
10
+Restart=always
11
+
12
+[Install]
13
+WantedBy=multi-user.target
0 14
new file mode 100644
... ...
@@ -0,0 +1,117 @@
0
+ServerName 127.0.0.1
1
+Listen 80
2
+
3
+DocumentRoot /srv/rpm-ostree/repo
4
+
5
+<Directory "/srv/rpm-ostree/repo">
6
+   Options All Indexes FollowSymLinks
7
+   Order allow,deny
8
+   Allow from all
9
+</Directory>
10
+
11
+LoadModule authn_file_module /usr/lib/httpd/modules/mod_authn_file.so
12
+#LoadModule authn_dbm_module /usr/lib/httpd/modules/mod_authn_dbm.so
13
+#LoadModule authn_anon_module /usr/lib/httpd/modules/mod_authn_anon.so
14
+#LoadModule authn_dbd_module /usr/lib/httpd/modules/mod_authn_dbd.so
15
+#LoadModule authn_socache_module /usr/lib/httpd/modules/mod_authn_socache.so
16
+LoadModule authn_core_module /usr/lib/httpd/modules/mod_authn_core.so
17
+LoadModule authz_host_module /usr/lib/httpd/modules/mod_authz_host.so
18
+LoadModule authz_groupfile_module /usr/lib/httpd/modules/mod_authz_groupfile.so
19
+LoadModule authz_user_module /usr/lib/httpd/modules/mod_authz_user.so
20
+#LoadModule authz_dbm_module /usr/lib/httpd/modules/mod_authz_dbm.so
21
+#LoadModule authz_owner_module /usr/lib/httpd/modules/mod_authz_owner.so
22
+#LoadModule authz_dbd_module /usr/lib/httpd/modules/mod_authz_dbd.so
23
+LoadModule authz_core_module /usr/lib/httpd/modules/mod_authz_core.so
24
+#LoadModule authnz_ldap_module /usr/lib/httpd/modules/mod_authnz_ldap.so
25
+#LoadModule authnz_fcgi_module /usr/lib/httpd/modules/mod_authnz_fcgi.so
26
+LoadModule access_compat_module /usr/lib/httpd/modules/mod_access_compat.so
27
+LoadModule auth_basic_module /usr/lib/httpd/modules/mod_auth_basic.so
28
+#LoadModule auth_form_module /usr/lib/httpd/modules/mod_auth_form.so
29
+#LoadModule auth_digest_module /usr/lib/httpd/modules/mod_auth_digest.so
30
+#LoadModule allowmethods_module /usr/lib/httpd/modules/mod_allowmethods.so
31
+#LoadModule file_cache_module /usr/lib/httpd/modules/mod_file_cache.so
32
+#LoadModule cache_module /usr/lib/httpd/modules/mod_cache.so
33
+#LoadModule cache_disk_module /usr/lib/httpd/modules/mod_cache_disk.so
34
+#LoadModule cache_socache_module /usr/lib/httpd/modules/mod_cache_socache.so
35
+#LoadModule socache_shmcb_module /usr/lib/httpd/modules/mod_socache_shmcb.so
36
+#LoadModule socache_dbm_module /usr/lib/httpd/modules/mod_socache_dbm.so
37
+#LoadModule socache_memcache_module /usr/lib/httpd/modules/mod_socache_memcache.so
38
+#LoadModule watchdog_module /usr/lib/httpd/modules/mod_watchdog.so
39
+#LoadModule macro_module /usr/lib/httpd/modules/mod_macro.so
40
+#LoadModule dbd_module /usr/lib/httpd/modules/mod_dbd.so
41
+#LoadModule dumpio_module /usr/lib/httpd/modules/mod_dumpio.so
42
+#LoadModule echo_module /usr/lib/httpd/modules/mod_echo.so
43
+#LoadModule buffer_module /usr/lib/httpd/modules/mod_buffer.so
44
+#LoadModule data_module /usr/lib/httpd/modules/mod_data.so
45
+#LoadModule ratelimit_module /usr/lib/httpd/modules/mod_ratelimit.so
46
+LoadModule reqtimeout_module /usr/lib/httpd/modules/mod_reqtimeout.so
47
+#LoadModule ext_filter_module /usr/lib/httpd/modules/mod_ext_filter.so
48
+#LoadModule request_module /usr/lib/httpd/modules/mod_request.so
49
+#LoadModule include_module /usr/lib/httpd/modules/mod_include.so
50
+LoadModule filter_module /usr/lib/httpd/modules/mod_filter.so
51
+#LoadModule reflector_module /usr/lib/httpd/modules/mod_reflector.so
52
+#LoadModule substitute_module /usr/lib/httpd/modules/mod_substitute.so
53
+#LoadModule sed_module /usr/lib/httpd/modules/mod_sed.so
54
+#LoadModule charset_lite_module /usr/lib/httpd/modules/mod_charset_lite.so
55
+#LoadModule deflate_module /usr/lib/httpd/modules/mod_deflate.so
56
+LoadModule mime_module /usr/lib/httpd/modules/mod_mime.so
57
+#LoadModule ldap_module /usr/lib/httpd/modules/mod_ldap.so
58
+LoadModule log_config_module /usr/lib/httpd/modules/mod_log_config.so
59
+#LoadModule log_debug_module /usr/lib/httpd/modules/mod_log_debug.so
60
+#LoadModule log_forensic_module /usr/lib/httpd/modules/mod_log_forensic.so
61
+#LoadModule logio_module /usr/lib/httpd/modules/mod_logio.so
62
+LoadModule env_module /usr/lib/httpd/modules/mod_env.so
63
+#LoadModule mime_magic_module /usr/lib/httpd/modules/mod_mime_magic.so
64
+#LoadModule expires_module /usr/lib/httpd/modules/mod_expires.so
65
+LoadModule headers_module /usr/lib/httpd/modules/mod_headers.so
66
+#LoadModule usertrack_module /usr/lib/httpd/modules/mod_usertrack.so
67
+#LoadModule unique_id_module /usr/lib/httpd/modules/mod_unique_id.so
68
+LoadModule setenvif_module /usr/lib/httpd/modules/mod_setenvif.so
69
+LoadModule version_module /usr/lib/httpd/modules/mod_version.so
70
+#LoadModule remoteip_module /usr/lib/httpd/modules/mod_remoteip.so
71
+#LoadModule proxy_module /usr/lib/httpd/modules/mod_proxy.so
72
+#LoadModule proxy_connect_module /usr/lib/httpd/modules/mod_proxy_connect.so
73
+#LoadModule proxy_ftp_module /usr/lib/httpd/modules/mod_proxy_ftp.so
74
+#LoadModule proxy_http_module /usr/lib/httpd/modules/mod_proxy_http.so
75
+#LoadModule proxy_fcgi_module /usr/lib/httpd/modules/mod_proxy_fcgi.so
76
+#LoadModule proxy_scgi_module /usr/lib/httpd/modules/mod_proxy_scgi.so
77
+#LoadModule proxy_fdpass_module /usr/lib/httpd/modules/mod_proxy_fdpass.so
78
+#LoadModule proxy_wstunnel_module /usr/lib/httpd/modules/mod_proxy_wstunnel.so
79
+#LoadModule proxy_ajp_module /usr/lib/httpd/modules/mod_proxy_ajp.so
80
+#LoadModule proxy_balancer_module /usr/lib/httpd/modules/mod_proxy_balancer.so
81
+#LoadModule proxy_express_module /usr/lib/httpd/modules/mod_proxy_express.so
82
+#LoadModule session_module /usr/lib/httpd/modules/mod_session.so
83
+#LoadModule session_cookie_module /usr/lib/httpd/modules/mod_session_cookie.so
84
+#LoadModule session_crypto_module /usr/lib/httpd/modules/mod_session_crypto.so
85
+#LoadModule session_dbd_module /usr/lib/httpd/modules/mod_session_dbd.so
86
+#LoadModule slotmem_shm_module /usr/lib/httpd/modules/mod_slotmem_shm.so
87
+#LoadModule slotmem_plain_module /usr/lib/httpd/modules/mod_slotmem_plain.so
88
+#LoadModule ssl_module /usr/lib/httpd/modules/mod_ssl.so
89
+#LoadModule dialup_module /usr/lib/httpd/modules/mod_dialup.so
90
+#LoadModule lbmethod_byrequests_module /usr/lib/httpd/modules/mod_lbmethod_byrequests.so
91
+#LoadModule lbmethod_bytraffic_module /usr/lib/httpd/modules/mod_lbmethod_bytraffic.so
92
+#LoadModule lbmethod_bybusyness_module /usr/lib/httpd/modules/mod_lbmethod_bybusyness.so
93
+#LoadModule lbmethod_heartbeat_module /usr/lib/httpd/modules/mod_lbmethod_heartbeat.so
94
+LoadModule mpm_event_module /usr/lib/httpd/modules/mod_mpm_event.so
95
+LoadModule unixd_module /usr/lib/httpd/modules/mod_unixd.so
96
+#LoadModule heartbeat_module /usr/lib/httpd/modules/mod_heartbeat.so
97
+#LoadModule heartmonitor_module /usr/lib/httpd/modules/mod_heartmonitor.so
98
+#LoadModule dav_module /usr/lib/httpd/modules/mod_dav.so
99
+LoadModule status_module /usr/lib/httpd/modules/mod_status.so
100
+LoadModule autoindex_module /usr/lib/httpd/modules/mod_autoindex.so
101
+#LoadModule asis_module /usr/lib/httpd/modules/mod_asis.so
102
+#LoadModule info_module /usr/lib/httpd/modules/mod_info.so
103
+#LoadModule cgid_module /usr/lib/httpd/modules/mod_cgid.so
104
+#LoadModule cgi_module /usr/lib/httpd/modules/mod_cgi.so
105
+#LoadModule dav_fs_module /usr/lib/httpd/modules/mod_dav_fs.so
106
+#LoadModule dav_lock_module /usr/lib/httpd/modules/mod_dav_lock.so
107
+#LoadModule vhost_alias_module /usr/lib/httpd/modules/mod_vhost_alias.so
108
+#LoadModule negotiation_module /usr/lib/httpd/modules/mod_negotiation.so
109
+LoadModule dir_module /usr/lib/httpd/modules/mod_dir.so
110
+#LoadModule actions_module /usr/lib/httpd/modules/mod_actions.so
111
+#LoadModule speling_module /usr/lib/httpd/modules/mod_speling.so
112
+#LoadModule userdir_module /usr/lib/httpd/modules/mod_userdir.so
113
+LoadModule alias_module /usr/lib/httpd/modules/mod_alias.so
114
+#LoadModule rewrite_module /usr/lib/httpd/modules/mod_rewrite.so
115
+
116
+
0 117
new file mode 100644
... ...
@@ -0,0 +1,10 @@
0
+Welcome to PhotonOS (TP2) RPM-OSTree Server
1
+\r \s \v
2
+
3
+RPM-OSTree repo is created at '/srv/rpm-ostree/repo'.
4
+A web server is automatically started to expose this repo for RPM-OSTree Host installations.
5
+Point your RPM-OSTree Host to 'http://<IP of this server>/' for pulling the repo.
6
+The default OSTree reference of this repo is 'tp2/x86_64/minimal'.
7
+
8
+=== Technical Preview. Do not use in production. ===
9
+
... ...
@@ -31,7 +31,6 @@ class OstreeInstaller(Installer):
31 31
 
32 32
     def __init__(self, install_config, maxy = 0, maxx = 0, iso_installer = False, rpm_path = "../stage/RPMS", log_path = "../stage/LOGS", ks_config = None):
33 33
         Installer.__init__(self, install_config, maxy, maxx, iso_installer, rpm_path, log_path, ks_config)
34
-    
35 34
         self.win_height = 13
36 35
         self.win_width = 50
37 36
         self.menu_starty = self.starty + 3    
... ...
@@ -36,6 +36,12 @@ class OstreeServerInstaller(Installer):
36 36
 
37 37
         self.run("mkdir -p {}/srv/rpm-ostree/repo".format(self.photon_root))
38 38
         self.run("cp ./photon-base.json {}/srv/rpm-ostree/".format(self.photon_root))
39
-        self.run("cp ./photon-ostree.repo {}/srv/rpm-ostree/".format(self.photon_root))
39
+        self.run("ln -s /etc/yum.repos.d/photon.repo {}/srv/rpm-ostree/photon-ostree.repo".format(self.photon_root))
40
+        self.run("cp ./ostree-httpd.conf {}/srv/rpm-ostree/".format(self.photon_root))
41
+        self.run("cp ./httpd.service {}/usr/lib/systemd/system/".format(self.photon_root))
42
+        self.run("cp ./get-ip-address.sh {}/usr/bin/".format(self.photon_root))
43
+        self.run("cp ./ostree-server-greeting.txt {}/etc/issue".format(self.photon_root))
44
+        self.run("ln -s /usr/lib/systemd/system/httpd.service {}/usr/lib/systemd/system/multi-user.target.wants/httpd.service".format(self.photon_root))
40 45
         self.run("tar -xf /mnt/cdrom/ostree-repo.tar.gz -C {}/srv/rpm-ostree/repo".format(self.photon_root))
41 46
 
47
+