maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Applications (https://talk.maemo.org/forumdisplay.php?f=41)
-   -   Ftp server (https://talk.maemo.org/showthread.php?t=35578)

les_garten 2009-12-04 03:53

Re: Ftp server
 
Quote:

Originally Posted by Bratag (Post 408953)
so it is. Well we can but wait. Thanks

I saw it about an hour or so ago when I polled Extras-devel on my N900

Bratag 2009-12-04 14:41

Re: Ftp server
 
Quote:

Originally Posted by les_garten (Post 408985)
I saw it about an hour or so ago when I polled Extras-devel on my N900

Yeah its there - but for some reason when I built the admn deb it included the entire pathname of the build tree as the location for the config ... sigh, this would be a lot easier if I could just upload the darn deb myself.

No!No!No!Yes! 2009-12-07 12:55

Re: Ftp server
 
Quote:

Originally Posted by Bratag (Post 403222)
I have just compiled proftpd for my N900. For those that don't know its an ftp server. Just want to know if its worth putting it up in the repo. It has been optified so should be ok to install for everyone.

Hi and thanks for the effort ... do you know how to automatically start proftpd server on N900 system startup?

I tried configuring /etc/event.d/proftpd startup script like this:
Code:

Nokia-N900-42-11:/etc/event.d# cat proftpd
start on stopped rcS

console output

respawn

pre-start script
    if [ ! -d /home/opt/var/proftpd ] ; then
        mkdir /home/opt/var/proftpd
        chmod 755 /home/opt/var/proftpd
    fi
end script

exec /home/opt/sbin/proftpd -c /opt/etc/proftpd.conf
Nokia-N900-42-11:/etc/event.d#

But it doesn't start on system startup.

If I run initctl start proftpd from the prompt then it starts fine:
Code:

Nokia-N900-42-11:/etc/event.d# initctl start proftpd
proftpd (start) waiting
proftpd (start) starting
proftpd (start) pre-start, process 1924
proftpd (start) spawned, process 1925
proftpd (start) post-start, (main) process 1925
proftpd (start) running, process 1925
Nokia-N900-42-11:/etc/event.d#

Any idea?

liveslow 2009-12-07 20:07

Re: Ftp server
 
oh man this is so cool

Bratag 2009-12-08 14:32

Re: Ftp server
 
I am going to try another release hopefully today to fix the pathing issue with the config file. I will try and include a startup script that can be copied into the /etc/init.d dir.

No!No!No!Yes! 2009-12-08 15:04

Re: Ftp server
 
Quote:

Originally Posted by Bratag (Post 416596)
I am going to try another release hopefully today to fix the pathing issue with the config file. I will try and include a startup script that can be copied into the /etc/init.d dir.

Hi, Bratag and thanks for prompt response... it seems that N900 uses upstart (/etc/event.d/<jobname>) to initiate programs and daemons at boot time... that could be the way.

RDJEHV 2009-12-08 18:13

Re: Ftp server
 
I'm new to to linux and proftpd. I gather I have to start this program from the X-terminal? what code should I use? just typing:
/etc/event.d# initctl start proftpd
doesn't work.

Bratag 2009-12-08 18:20

Re: Ftp server
 
Quote:

Originally Posted by RDJEHV (Post 417015)
I'm new to to linux and proftpd. I gather I have to start this program from the X-terminal? what code should I use? just typing:
/etc/event.d# initctl start proftpd
doesn't work.

/opt/sbin/proftpd - however the existing build doesnt have the config file in the right spot (you of course have to configure the config file regardless of where it is). I am rebuilding it now in an effort to fix the pathing on the config as we speak

RDJEHV 2009-12-08 18:53

Re: Ftp server
 
I'll just be patient then :)

No!No!No!Yes! 2009-12-08 21:25

Re: Ftp server
 
Quote:

Originally Posted by Bratag (Post 417029)
/opt/sbin/proftpd - however the existing build doesnt have the config file in the right spot (you of course have to configure the config file regardless of where it is). I am rebuilding it now in an effort to fix the pathing on the config as we speak

My proftpd configuration /opt/etc/proftpd.conf is:
Code:

Nokia-N900-42-11:/etc/event.d# cat /opt/etc/proftpd.conf
# This is a basic ProFTPD configuration file (rename it to
# 'proftpd.conf' for actual use.  It establishes a single server
# and a single anonymous login.  It assumes that you have a user/group
# "nobody" and "ftp" for normal operation and anon.

ServerName                      "ProFTPD Default Installation"
ServerType                      standalone
DefaultServer                  on

# Port 21 is the standard FTP port.
Port                            21

# Don't use IPv6 support by default.
UseIPv6                        off

# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask                          022

# To prevent DoS attacks, set the maximum number of child processes
# to 30.  If you need to allow more than 30 concurrent connections
# at once, simply increase this value.  Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd).
MaxInstances                    30

# Set the user and group under which the server will run.
User                            nobody
Group                          nogroup

# To cause every FTP user to be "jailed" (chrooted) into their home
# directory, uncomment this line.
#DefaultRoot ~

# Normally, we want files to be overwriteable.
AllowOverwrite          on

# Bar use of SITE CHMOD by default
<Limit SITE_CHMOD>
  DenyAll
</Limit>

RootLogin on
DelayTable /home/opt/var/proftpd/proftpd.delay
PidFile /home/opt/var/proftpd/proftpd.pid
ScoreboardFile /home/opt/var/proftpd/proftpd.scoreboard

## A basic anonymous configuration, no upload directories.  If you do not
## want anonymous users, simply delete this entire <Anonymous> section.
#<Anonymous ~ftp>
#  User                        ftp
#  Group                                ftp
#
#  # We want clients to be able to login with "anonymous" as well as "ftp"
#  UserAlias                    anonymous ftp
#
#  # Limit the maximum number of anonymous logins
#  MaxClients                  10
#
#  # We want 'welcome.msg' displayed at login, and '.message' displayed
#  # in each newly chdired directory.
#  DisplayLogin                welcome.msg
#  DisplayChdir                .message
#
#  # Limit WRITE everywhere in the anonymous chroot
#  <Limit WRITE>
#    DenyAll
#  </Limit>
#</Anonymous>
Nokia-N900-42-11:/etc/event.d#

My startup proftpd job /etc/event.d/proftpd is:
Code:

Nokia-N900-42-11:/etc/event.d# cat /etc/event.d/proftpd
start on stopped rcS

console output

respawn

pre-start script
    df -k > /tmp/upstart.log
    if [ ! -d /home/opt/var/proftpd ] ; then
        mkdir /home/opt/var/proftpd
        chmod 755 /home/opt/var/proftpd
    fi
end script

exec /home/opt/sbin/proftpd -c /opt/etc/proftpd.conf
Nokia-N900-42-11:/etc/event.d#

First line in pre-start script section of /etc/event.d/proftpd is:
df -k > /tmp/upstart.log
I want to see if relevant "opt" file systems are already mounted... well guess what... they are not!!!

Code:

Nokia-N900-42-11:/tmp# cat /tmp/upstart.log
Filesystem          1k-blocks      Used Available Use% Mounted on
rootfs                  233224    163652    65292  71% /
ubi0:rootfs            233224    163652    65292  71% /
tmpfs                    1024        4      1020  0% /tmp
tmpfs                      256        8      248  3% /var/run
none                    10240        80    10160  1% /dev
tmpfs                    65536        4    65532  0% /dev/shm
Nokia-N900-42-11:/tmp#

I then try to put some delay inside /etc/event.d/proftpd file and wait for the existence of "opt"-ed /home/opt/sbin/proftpd executable:

Code:

Nokia-N900-42-11:/tmp# vi /etc/event.d/proftpd
start on stopped rcS

console output

respawn

pre-start script
    # Let's wait till "opt" stuff gets mounted
    while [ ! -e /home/opt/sbin/proftpd ]; do
      sleep 5
    done
    # "opt" stuff should be mounted when script reaches here

    df -k > /tmp/upstart.log
    if [ ! -d /home/opt/var/proftpd ] ; then
        mkdir /home/opt/var/proftpd
        chmod 755 /home/opt/var/proftpd
    fi
end script

exec /home/opt/sbin/proftpd -c /opt/etc/proftpd.conf

And NOW WE ARE TALKING!!!
Proftpd server gets automagically started on each reboot!!!
:D :D :D


All times are GMT. The time now is 11:52.

vBulletin® Version 3.8.8