On Fri, Oct 16, 2015 at 5:23 PM, Good Guy <xfs...@hotmail.com> wrote:

> On 16/10/15 22:11, Raf Roger wrote:
>
>> I used during several years a portable version of my webserver under
>> windows 7/8 to shift from laptop to desktop computer and without
>> duplicating webserver from one computer to another.
>>
>> i'm trying to do the same under ubuntu 15.04 however it seems that only
>> few people did it.
>> 1. why people under linux do not use portable webserver (e.g. on USB
>> drive) ?
>> 2. how can i make apache 2.4.x portable, so to have all needed files
>> (apache, php, openssl, etc) on a USB drive and make it work as standard web
>> server?
>> so in fact how to make apache looks after its configuration files and
>> librairies under its own directory where it will be stored ?
>>
>
> I suspect this may not be possible in a Linux environment because Linux
> doesn't use binaries.
>
> In Windows, it is pretty easy to create executable binaries and put them
> on flash drive with all the necessary configuration files and voilĂ  it is
> done.  I have used in Windows by downloading the Apache binaries from
> http://apachelounge.com and php binaries from http://windows.php.netand
> mysql binaries from mysql.com and you are done.  With Linux, this can't
> be done as far as I can see because of the way how linux (ubuntu, Mint etc
> etc) works.  My experience of Linux is limited so I too would like to know
> if it is possible to launch an Apache server from usb drive.
>

That is not correct, Good Guy. Linux, and pretty much any operating system,
uses binary programs. Which means programs that consist of machine
executable op codes. And Apache HTTP server on Linux is no different: it is
a binary program. I would love to know where you got the idea that Linux
does not use binaries.

It's trivial to create a Apache HTTP server that can be run from a USB
stick if all of the systems have compatible architectures (e.g., x86,
x86_64, or ppc) and support libraries (e.g., the libc library). It's more
difficult but still possible to create a portable server even if those
assumptions are not true. You simply need to build everything from source
and specify an installation root directory that will be valid for all the
systems on which you want to run the server (i.e., a directory where you
can mount the USB filesystem or symlink to it). You can't simply copy the
httpd binary and related files that are created for a given distribution
because the various parts are spread all over (e.g., /usr/bin and
/usr/lib). Which is to say the only common directory for all the files you
need is root ("/").

P.S., There are very fringe, unusual, computers that directly execute byte
code for languages like Forth and Java rather than machine language as
typically understood by most CPUs. But even those systems are effectively
executing binaries.

-- 
Kurtis Rader
Caretaker of the exceptional canines Junior and Hank

Reply via email to