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:Gentoo Portage Tree
Homepage

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


News

Mgorny

New OpenGL management in Funtoo

Funtoo is switching to an improved system for managing multiple OpenGL providers (Mesa/Xorg, AMD and nVidia). The update may involve blockers and file collisions.
30 March 2015 by Mgorny
Drobbins

Subarch Profiles are coming...

Subarch profiles are on their way! Learn more here.
29 March 2015 by Drobbins
Drobbins

RSS/Atom Support

You can now follow this news feed at http://www.funtoo.org/news/atom.xml .
10 February 2015 by Drobbins
View More News...

Rutorrent

Tip

This is a wiki page. To edit it, 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 Rtorrent and is designed to look like utorrent =D

# emerge www-apps/rutorrent


prereqs

  • Install your web server Nginx, and get 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.