diff options
| author | Scott Rifenbark <srifenbark@gmail.com> | 2016-06-08 09:57:57 -0700 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-06-21 12:59:07 +0100 |
| commit | ac8173ef7258cc42f349f97447b611c24e8249a5 (patch) | |
| tree | bb36d36ad49d06f620c300ff132c917c35e0a728 | |
| parent | 52fc5679887682b69ef883d2694c407fcec77977 (diff) | |
| download | poky-ac8173ef7258cc42f349f97447b611c24e8249a5.tar.gz | |
dev-manual: Updated Host Server Machine Setup for package feeds
Removed the extra server instructions and just left the ones
for SimpleHTTPServer.
Fixes [YOCTO #1882]
(From yocto-docs rev: fb502c608b015c37f361f4b54874ad199a67feb4)
Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
| -rw-r--r-- | documentation/dev-manual/dev-manual-common-tasks.xml | 175 |
1 files changed, 38 insertions, 137 deletions
diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml index 6e0a618277..376027f8b5 100644 --- a/documentation/dev-manual/dev-manual-common-tasks.xml +++ b/documentation/dev-manual/dev-manual-common-tasks.xml | |||
| @@ -7639,149 +7639,50 @@ | |||
| 7639 | Although other protocols are possible, a server using HTTP | 7639 | Although other protocols are possible, a server using HTTP |
| 7640 | typically serves packages. | 7640 | typically serves packages. |
| 7641 | If you want to use HTTP, then set up and configure a | 7641 | If you want to use HTTP, then set up and configure a |
| 7642 | web server, such as Apache 2 or lighttpd, on the machine | 7642 | web server such as Apache 2, lighttpd, or |
| 7643 | serving the packages. | 7643 | SimpleHTTPServer on the machine serving the packages. |
| 7644 | </para> | 7644 | </para> |
| 7645 | 7645 | ||
| 7646 | <para> | 7646 | <para> |
| 7647 | As previously mentioned, the build machine can act as the | 7647 | To keep things simple, this section describes how to set |
| 7648 | package server. | 7648 | up a SimpleHTTPServer web server to share package feeds |
| 7649 | In the following sections that describe server machine | 7649 | from the developer's machine. |
| 7650 | setups, the build machine is assumed to also be the server. | 7650 | Although this server might not be the best for a production |
| 7651 | environment, the setup is simple and straight forward. | ||
| 7652 | Should you want to use a different server more suited for | ||
| 7653 | production (e.g. Apache 2, Lighttpd, or Nginx), take the | ||
| 7654 | appropriate steps to do so. | ||
| 7651 | </para> | 7655 | </para> |
| 7652 | 7656 | ||
| 7653 | <section id='package-server-apache'> | 7657 | <para> |
| 7654 | <title>Serving Packages via Apache 2</title> | 7658 | Use the following steps to set up the SimpleHTTPServer |
| 7655 | 7659 | machine. | |
| 7656 | <para> | 7660 | These steps assume the build machine and the server are |
| 7657 | This example assumes you are using the Apache 2 | 7661 | same machine: |
| 7658 | server: | 7662 | <orderedlist> |
| 7659 | <orderedlist> | 7663 | <listitem><para><emphasis>Create a Directory that |
| 7660 | <listitem><para> | 7664 | Contains the Packages to Host:</emphasis> |
| 7661 | Add the directory to your Apache | 7665 | Be sure you have root privileges and place the |
| 7662 | configuration, which you can find at | 7666 | directory inside <filename>var/www/</filename> |
| 7663 | <filename>/etc/httpd/conf/httpd.conf</filename>. | 7667 | (e.g. <filename>/var/www/my_repo/</filename>). |
| 7664 | Use commands similar to the following on the | 7668 | To ensure the directory contains the packages you |
| 7665 | development system. | 7669 | want to serve, you need to create a symlink from |
| 7666 | These example commands assume a top-level | 7670 | the package feed area to the directory that hosts |
| 7667 | <link linkend='source-directory'>Source Directory</link> | 7671 | the packages you want to provide: |
| 7668 | named <filename>poky</filename> in your home | 7672 | <literallayout class='monospaced'> |
| 7669 | directory. | ||
| 7670 | The example also assumes an RPM package type. | ||
| 7671 | If you are using a different package type, such | ||
| 7672 | as IPK, use "ipk" in the pathnames: | ||
| 7673 | <literallayout class='monospaced'> | ||
| 7674 | <VirtualHost *:80> | ||
| 7675 | ... | ||
| 7676 | Alias /rpm ~/poky/build/tmp/deploy/rpm | ||
| 7677 | <Directory "~/poky/build/tmp/deploy/rpm"> | ||
| 7678 | Options +Indexes | ||
| 7679 | </Directory> | ||
| 7680 | </VirtualHost> | ||
| 7681 | </literallayout> | ||
| 7682 | </para></listitem> | ||
| 7683 | <listitem><para> | ||
| 7684 | Reload the Apache configuration as described | ||
| 7685 | in this step. | ||
| 7686 | For all commands, be sure you have root | ||
| 7687 | privileges. | ||
| 7688 | </para> | ||
| 7689 | |||
| 7690 | <para> | ||
| 7691 | If your development system is using Fedora or | ||
| 7692 | CentOS, use the following: | ||
| 7693 | <literallayout class='monospaced'> | ||
| 7694 | # service httpd reload | ||
| 7695 | </literallayout> | ||
| 7696 | For Ubuntu and Debian, use the following: | ||
| 7697 | <literallayout class='monospaced'> | ||
| 7698 | # /etc/init.d/apache2 reload | ||
| 7699 | </literallayout> | ||
| 7700 | For OpenSUSE, use the following: | ||
| 7701 | <literallayout class='monospaced'> | ||
| 7702 | # /etc/init.d/apache2 reload | ||
| 7703 | </literallayout> | ||
| 7704 | </para></listitem> | ||
| 7705 | <listitem><para> | ||
| 7706 | If you are using Security-Enhanced Linux | ||
| 7707 | (SELinux), you need to label the files as | ||
| 7708 | being accessible through Apache. | ||
| 7709 | Use the following command from the development | ||
| 7710 | host. | ||
| 7711 | This example assumes RPM package types: | ||
| 7712 | <literallayout class='monospaced'> | ||
| 7713 | # chcon -R -h -t httpd_sys_content_t tmp/deploy/rpm | ||
| 7714 | </literallayout> | ||
| 7715 | </para></listitem> | ||
| 7716 | </orderedlist> | ||
| 7717 | </para> | ||
| 7718 | </section> | ||
| 7719 | |||
| 7720 | <section id='package-server-lighttpd'> | ||
| 7721 | <title>Serving Packages Through lighttpd</title> | ||
| 7722 | |||
| 7723 | <para> | ||
| 7724 | If you are using lighttpd, all you need | ||
| 7725 | to do is to provide a link from your | ||
| 7726 | <filename>${TMPDIR}/deploy/<replaceable>packageformat</replaceable></filename> | ||
| 7727 | directory to lighttpd's document-root. | ||
| 7728 | You can determine the specifics of your lighttpd | ||
| 7729 | installation by looking through its configuration file, | ||
| 7730 | which is usually found at: | ||
| 7731 | <filename>/etc/lighttpd/lighttpd.conf</filename>. | ||
| 7732 | For example, if you are using IPK, lighttpd's | ||
| 7733 | document-root is set to | ||
| 7734 | <filename>/var/www/lighttpd</filename>, and you had | ||
| 7735 | packages for a target named "BOARD", | ||
| 7736 | then you might create a link from your build location | ||
| 7737 | to lighttpd's document-root as follows: | ||
| 7738 | <literallayout class='monospaced'> | ||
| 7739 | # ln -s $(PWD)/tmp/deploy/ipk /var/www/lighttpd/BOARD-dir | ||
| 7740 | </literallayout> | ||
| 7741 | </para> | ||
| 7742 | |||
| 7743 | <para> | ||
| 7744 | At this point, you need to start the lighttpd server. | ||
| 7745 | The method used to start the server varies by | ||
| 7746 | distribution. | ||
| 7747 | However, one basic method that starts it by hand is: | ||
| 7748 | <literallayout class='monospaced'> | ||
| 7749 | # lighttpd -f /etc/lighttpd/lighttpd.conf | ||
| 7750 | </literallayout> | ||
| 7751 | </para> | ||
| 7752 | </section> | ||
| 7753 | |||
| 7754 | <section id='package-server-python-simplehttpserver'> | ||
| 7755 | <title>Serving Packages Through Python SimpleHTTPServer</title> | ||
| 7756 | |||
| 7757 | <para> | ||
| 7758 | It is possible to serve packages hosted by a build | ||
| 7759 | machine through an HTTP server created with a simple | ||
| 7760 | Python command. | ||
| 7761 | </para> | ||
| 7762 | |||
| 7763 | <para> | ||
| 7764 | The first thing you do is to create a directory that | ||
| 7765 | contains the packages to host. | ||
| 7766 | Be sure you have root privileges and place the directory | ||
| 7767 | inside <filename>var/www/</filename> | ||
| 7768 | (e.g. <filename>/var/www/my_repo/</filename>). | ||
| 7769 | To ensure the directory contains the packages you want | ||
| 7770 | to serve, you need to create a symlink from the | ||
| 7771 | package feed area to the directory that hosts the | ||
| 7772 | packages you want to provide: | ||
| 7773 | <literallayout class='monospaced'> | ||
| 7774 | my_repo # ln -s ~{TMPDIR}/deploy/<replaceable>packageformat</replaceable> ./ | 7673 | my_repo # ln -s ~{TMPDIR}/deploy/<replaceable>packageformat</replaceable> ./ |
| 7775 | </literallayout> | 7674 | </literallayout> |
| 7776 | You can start the server by running the following | 7675 | </para></listitem> |
| 7777 | command from the recently created directory: | 7676 | <listitem><para><emphasis>Start the Server:</emphasis> |
| 7778 | <literallayout class='monospaced'> | 7677 | You can start the server by running the following |
| 7779 | # python -m SimpleHTTPServer | 7678 | commands from the recently created directory: |
| 7780 | 7679 | <literallayout class='monospaced'> | |
| 7781 | Serving HTTP on 0.0.0 port 8000 ... | 7680 | $ cd {TMPDIR}/deploy/\\packageformat\\ |
| 7782 | </literallayout> | 7681 | $ python -m SimpleHTTPServer |
| 7783 | </para> | 7682 | </literallayout> |
| 7784 | </section> | 7683 | </para></listitem> |
| 7684 | </orderedlist> | ||
| 7685 | </para> | ||
| 7785 | </section> | 7686 | </section> |
| 7786 | 7687 | ||
| 7787 | <section id='runtime-package-management-target'> | 7688 | <section id='runtime-package-management-target'> |
