Difference between pages "FLOP:Boot-Update Redesign" and "Package:Rutorrent"

(Difference between pages)
 
m (more details)
 
Line 1: Line 1:
{{FLOP
+
{{Ebuild
|Created on=2013/12/03
+
|Summary=ruTorrent is a front-end for the popular Bittorrent client rTorrent
|Summary=This page describes a proposed rewrite of boot-update.
+
|CatPkg=www-apps/rutorrent
|Author=Daniel Robbins
+
|Homepage=http://code.google.com/p/rutorrent/
|Maintainer=Daniel Robbins
+
}}
}}  
+
== Introduction ==
+
  
The goals in rewriting boot-update are as follows:
+
rutorrent is a front end to {{package|net-p2p/rtorrent}} and is designed to look like utorrent =D
  
# Refactor code
+
{{console|body=###i## emerge www-apps/rutorrent}}
# Add UEFI support
+
# Simplify Kernel Layout
+
  
== Refactor Code ==
+
===prereqs===
 +
*Install your web server {{package|www-servers/nginx}}, and get {{package|dev-lang/php}} with the fpm use flag running first.
 +
*you must turn on scgi_pass within rtorrents.
  
Boot-update could use some code simplification. This will be accomplished by using a simpler design using templates for text generation, and also simplifying the kernel layout (described below.)
+
===configuration===
 +
first figure out what php you're using
  
== UEFI Support ==
+
{{console|body=###i##eselect php list fpm
 +
[1]  php5.5 *
 +
###i## eselect php list cgi
 +
[1]  php5.5 *
 +
###i## eselect php list apache2
 +
[1]  php5.5 *
 +
###i## eselect php list cli
 +
[1]  php5.5 *
 +
}}
  
Boot-update currently doesn't support UEFI booting directly, and must be manually configured via the [[UEFI Install Guide]]. Part of this proposal involves adding UEFI support to boot-update.
+
edit the respective php.ini
  
== Simplify Kernel Layout ==
+
were going to configure for nginx.
  
Currently, all kernels and initramfs images are installed into <tt>/boot</tt> directly and typically have the names <tt>kernel-SUFFIX</tt> or <tt>bzImage-SUFFIX</tt> and <tt>initramfs-SUFFIX</tt>. Boot-update needs to find the kernel and initramfs images and associate them with each other, and then parse the filename for version information.
+
=== optional security lock down stuff ===
 +
{{warning|possibly broken, untested}}
 +
Edit the open_basedir in
 +
/etc/php/fpm-php5.5/php.ini
 +
{{file|name=/etc/php/fpm-php5.5/php.ini|lang=|desc=php basedir|body=
 +
open_basedir = /var/www/localhost/htdocs/rutorrent/conf:/var/www/localhost/htdocs/rutorrent/php:/var/www/localhost/htdocs/rutorrent/
 +
}}
  
This is not an optimal way to organize kernels. A much cleaner approach would be to have a <tt>/boot/kernels/VERSION/</tt> directory that contains files <tt>initramfs.gz</tt>, <tt>bzImage</tt>, <tt>System.map</tt>, etc. without any suffix. boot-update would then scan <tt>/boot/kernels</tt> and make all directory names available as kernels that could be booted. This simplifies kernel management as everything related to a particular kernel is organized in its own sub-directory.
+
=== nginx config===
 +
{{file|name=/etc/nginx/sites-available/localhost|lang=|desc=nginx configuration|body=
 +
server {
 +
listen 127.0.0.1:80;
 +
server_name localhost;
 +
access_log /var/log/nginx/localhost.access_log main;
 +
error_log /var/log/nginx/localhost.error_log info;
 +
root /var/www/localhost/htdocs;
 +
index index.php index.cgi index.htm index.html;
 +
autoindex on;
  
In addition, special text files could exist in the <tt>/boot/kernels/VERSION/</tt> directory, such as <tt>label</tt>, which could contain a regular text name for the kernel that appears in the menu. A <tt>/boot/kernels/VERSION/grub.cfg</tt> could allow users to manually specify a <tt>grub.cfg</tt> section that is used to boot this kernel, which boot-update would use if found. touching <tt>/boot/kernels/VERSION/default</tt> would allow a user to set the default kernel for booting. These types of changes would reduce the complexity contained in the <tt>/etc/boot.conf</tt> file, as more configuration data would be stored on the filesystem itself.
+
        location ~ \.php$ {
 +
                fastcgi_pass 127.0.0.1:9000;
 +
include fastcgi.conf;
 +
                #fastcgi_pass unix:/var/run/php5-fpm.sock;
 +
        }
  
[[Category:FLOP]]
+
          location /rutorrent {
{{FLOPFooter}}
+
              include scgi_params;
 +
              scgi_pass localhost:5000;
 +
          }
 +
}
 +
}}
 +
 
 +
then start nginx
 +
{{console|body=###i## /etc/init.d/nginx restart}}
 +
 
 +
point browser to
 +
 
 +
http://127.0.0.1/rutorrent
 +
 
 +
or
 +
 
 +
http://localhost/rutorrent
 +
 
 +
{{note|tested without rtorrent running, and without editing the php.ini, web app runs fine.}}
 +
 
 +
 
 +
 
 +
{{PageNeedsUpdates}}
 +
{{EbuildFooter}}

Revision as of 06:47, March 8, 2015

www-apps/rutorrent


Source Repository:Repository:Gentoo Portage Tree

http://code.google.com/p/rutorrent/

Summary: ruTorrent is a front-end for the popular Bittorrent client rTorrent


News

Drobbins

Perl Updates

Gentoo has bumped perl from 5.20 to 5.22. Be sure to run perl-cleaner --all after the upgrade.
2015-07-25 by Drobbins
Drobbins

ARM Rebuild

ARM systems will use new stage3's that are not compatible with earlier versions.
2015-06-27 by Drobbins
Drobbins

ABI X86 64 and 32

Funtoo Linux has new 32-bit compatibility libraries inherited from Gentoo. Learn about them here.
2015-06-18 by Drobbins
More...

Rutorrent

Tip

We welcome improvements to this page. To edit this page, Create a Funtoo account. Then log in and then click here to edit this page. See our editing guidelines to becoming a wiki-editing pro.


rutorrent is a front end to Package:Rtorrent and is designed to look like utorrent =D

# emerge www-apps/rutorrent


prereqs

  • Install your web server Package:Nginx, and get Package:PHP with the fpm use flag running first.
  • you must turn on scgi_pass within rtorrents.

configuration

first figure out what php you're using

#eselect php list fpm
[1]   php5.5 *
# eselect php list cgi
[1]   php5.5 *
# eselect php list apache2
[1]   php5.5 *
# eselect php list cli
[1]   php5.5 *


edit the respective php.ini

were going to configure for nginx.

optional security lock down stuff

Warning

possibly broken, untested

Edit the open_basedir in /etc/php/fpm-php5.5/php.ini

/etc/php/fpm-php5.5/php.ini - php basedir
open_basedir = /var/www/localhost/htdocs/rutorrent/conf:/var/www/localhost/htdocs/rutorrent/php:/var/www/localhost/htdocs/rutorrent/

nginx config

/etc/nginx/sites-available/localhost - nginx configuration
server {
	listen 127.0.0.1:80;
	server_name localhost;
	access_log /var/log/nginx/localhost.access_log main;
	error_log /var/log/nginx/localhost.error_log info;
	root /var/www/localhost/htdocs;
	index index.php index.cgi index.htm index.html;
	autoindex on;

        location ~ \.php$ {
                fastcgi_pass 127.0.0.1:9000;
		include fastcgi.conf;
                #fastcgi_pass unix:/var/run/php5-fpm.sock;
        }

           location /rutorrent {
               include scgi_params;
               scgi_pass localhost:5000;
           }
}

then start nginx

# /etc/init.d/nginx restart


point browser to

http://127.0.0.1/rutorrent

or

http://localhost/rutorrent

Note

tested without rtorrent running, and without editing the php.ini, web app runs fine.