LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 09-30-2004, 02:37 PM   #1
user_of_slack
LQ Newbie
 
Registered: Sep 2004
Distribution: Slackware 10.0
Posts: 14

Rep: Reputation: 0
Minimum Slackware 10.0 install for webserver


Does anyone have some advice to what the minimum choices I need to install to do the following?

I want to compile all choices below from source. I have already untared them and they are on CD, meaning I do not need any compression utilities, like tar.

Apache 2.x
Php 5.x
Perl 5.x
mysql 5.x

I have a DHCP connection. I plan on sitting the box in the corner of a room and accessing it via my local network by its current IP. My hardware works fine, as I have installed the full version of Slackware 10.0 on it and with a few tweaks I have sound, video X networking etc. I do not care to get sound or X on this install.

I do not want to install the above programs from the Slackware CD, as I want to learn how to build them by source and my main question is, based on the info above what is the minimum I need to install from the Slackware 10.0 disks to give me the ability to network and build these programs?

Do I only need make and gcc to build most source project or are the all different? What about libraries? If I choose to install gcc, does it install with all I need? I am thinking I only need the base system ,gcc, make, TCP and DHCP

Any help would be appreciated.
 
Old 09-30-2004, 02:51 PM   #2
xushi
Senior Member
 
Registered: Jun 2003
Location: UK
Distribution: Gentoo
Posts: 1,288

Rep: Reputation: 45
Why not go for a normal minimum slackware install, and get rid of the current installed apache, php, mysql, and perl?

I meen for a starter, slackware comes with apache 1.3.x.

Afterwards, you can go on downloading the source for all of the above software, and start compiling away. This will reduce any dependancy errors, or missing programs that you might need for a stable/secure/good system
 
Old 09-30-2004, 03:03 PM   #3
gnashley
Amigo developer
 
Registered: Dec 2003
Location: Germany
Distribution: Slackware
Posts: 4,928

Rep: Reputation: 612Reputation: 612Reputation: 612Reputation: 612Reputation: 612Reputation: 612
Or see my howto which will answer most of your questions about minimal install.
See Minimal Install Index:
amigolinux.org
 
Old 10-01-2004, 04:57 PM   #4
user_of_slack
LQ Newbie
 
Registered: Sep 2004
Distribution: Slackware 10.0
Posts: 14

Original Poster
Rep: Reputation: 0
xushi:
Thanks for your reply.
What I wanted to do is find out what I needed without adding extra packages. If chose apache or anything, I am not sure what is being added and I don't know what that software depends on. Though everything would be there, I wanted to learn what is needed. I experimented with different choices and came up with what is posted below.

gnashley:
I looked at your links and thanks for the information.


In the end here is what I did as for choices in install.

A
kernel-ide
gawk
glibc-zoneinfo

D
autoconf
automake
bin86
binutils
bison
byacc
ccache
clisp
flex
gcc
gcc-g++
gcc-objc
kernel-headers
m4
make

L
expat
glib
glib2
glibc
libxml2
libxslt
ncurces

N
autofs
bind
dhcpd
dhcp
inetd
iproute2
iptables
links
openssh
pidentd
pine (for pico editor)
tcpip

I downloaded
apache version 2.0.52
apache version 1.3.31
php 5.0.2
perl 5.8.5
mysql-standard-5.0.0-alpha-pc-linux-i686

My Internet connection worked, and I had no real problems installing what I wanted.

Though I installed libxml2 it said it was not available when I configured PHP. I downloaded libxml2 and installed it from source, running the PHP config again, I had no errors. he first time though, I did get php to compile with just ./configure -disable-libxml

I wanted to get a minimum install with the above software.
In most cases I simply typed
./configure && make && make install
Perl is a bit different but the install instructions are in the INSTALL file

My next plan is to get them to all work together. There are sites out there that I will look at. There may be more issues to come but I feel I reached my goal of a minimum install (for what I wanted to accomplish) with Slackware. Another note, gunzip, tar, bunzip2 got installed with the above choices.

I copied all the software I needed to a CD. Then after the Slack install I logged on as root and I typed
mount /dev/cdrom /mnt/cdrom

cd /mnt/cdrom

cp * /root

uncompressed the various files and installed and tested them.
 
Old 10-01-2004, 10:18 PM   #5
gnashley
Amigo developer
 
Registered: Dec 2003
Location: Germany
Distribution: Slackware
Posts: 4,928

Rep: Reputation: 612Reputation: 612Reputation: 612Reputation: 612Reputation: 612Reputation: 612
Glad you got everything going. I'll mention this: you must have chosen the 'Menu' method for package selection which isntalll lots of pkgs by default. If you run pkgtool you'll see you have lots more pkgs than the list above shows. (it installs nearly all of /a and /ap by default) My HOWTO assumes that you use 'Expert' mode and choose each pkg individually. Most of the stuff that really makes a minimal install is not even in your list. In fact the kernel is the ONLY thing listed above that actually is part of anything you could call a minimal install. I'm not suggesting you redo it! If it ain't broke...
 
Old 10-02-2004, 12:52 AM   #6
skog
Member
 
Registered: Sep 2003
Location: TX
Distribution: slackware
Posts: 301

Rep: Reputation: 30
just some suggestions

the D series isnt necessary you can build your packages on another pc and then move them to the server

you can get just pico from linuxpackages.net a slackware tgz site.

and you dont have to worry about slackware installing a package's dependencies it doesnt deal with them. If you install Apache you ONLY get apache ... whether apache would work or not the slackware install wont install the dependencies for you.
 
Old 10-02-2004, 04:29 PM   #7
user_of_slack
LQ Newbie
 
Registered: Sep 2004
Distribution: Slackware 10.0
Posts: 14

Original Poster
Rep: Reputation: 0
I did use the menu option. :-) I must convey, I was not looking for the absolute smallest I could get away with but instead, using the choices on the slackware disk for options, I was looking for the minimum choices I could install and do what I wanted. I wouldn't mind getting smaller. I will try the Expert install and see how it works for me. Thanks for the information.

skog: Let me ask you this... Well before I ask, let me say I usually install almost everything and I never have a problem. I use my system as a workstation connected to my cable modem. I disable all services, put up a simple firewall and never have had a problem. What I was looking to do in what I called a minimal install was make the least amount of choices and get what I wanted to work. I assumed I must build the programs, apache etc from source. That led to using the D choices.

If I built, say apache, on another computer, what would I need to move to my minimal system? What about any other program? Is there a way to tell what that program needs for libraries or dependencies to work?

I chose ./configure --prefix=/usr/local/apache1 as my install directory. Could I just copy every thing in that directory and have it work? (tar -cpf /usr/local/apache1/ apache.tar )

Do most programs need access to specific libraries to run or is that just during the building? My understanding is a binary build needs certain "other files" to compile whether it is libraries or something else. Are they not needed after the binary is created?

A binary for say RedHat doesn't just install on my Slack system. I know there is a project out there called Free Standards ( http://www.freestandards.org/ ) The idea is a binary will install on any system. That is great but it is not what I am asking... If I compile a program on my slackware 10.0 system, can I just move the binary to another system and it will work?
 
Old 10-02-2004, 07:42 PM   #8
bluenirve
Member
 
Registered: May 2003
Distribution: Slackware 10
Posts: 56

Rep: Reputation: 15
Thanks for the advice. I'v been wanting to do this also.
 
Old 10-03-2004, 12:16 AM   #9
gnashley
Amigo developer
 
Registered: Dec 2003
Location: Germany
Distribution: Slackware
Posts: 4,928

Rep: Reputation: 612Reputation: 612Reputation: 612Reputation: 612Reputation: 612Reputation: 612
Why don't you use the pre-compiled binaries from Slackware, or get Slack-compat pkgs from linuxpackages.net and save the trouble of compiling.
Usually you need just glibc libs to compile. the program WILL use other libs when running, though, unless it has been compiled STATICALLY, which means that you get a bigger binary beacause all the needed libs are compiled into the binary.
No one wants a TRUE minimal install. We say that meaning just what WE want or need. I cuse the term 'Optimal Subset', indicating that a certain capabilitiy has been made possible, but without having a bunch of unneeded stuff in there also.
 
Old 10-03-2004, 01:18 AM   #10
DaHammer
Member
 
Registered: Oct 2003
Location: Planet Earth
Distribution: Slackware, LFS
Posts: 561

Rep: Reputation: 30
Quote:
Originally posted by user_of_slack
If I built, say apache, on another computer, what would I need to move to my minimal system? What about any other program? Is there a way to tell what that program needs for libraries or dependencies to work?
You can list library dependancies using "ldd". But that output is not always absolute and doesn't list things like configuration files that a program may look for. One way to quickly find dependancies is to chroot a program and run it there, using strace trace it as it loads various files.

Quote:
Originally posted by user_of_slack
I chose ./configure --prefix=/usr/local/apache1 as my install directory. Could I just copy every thing in that directory and have it work? (tar -cpf /usr/local/apache1/ apache.tar )
No, you'd still need any libraries it requires if it's not built static. But beyond that, for Apache specifically, best I recall you only need the httpd binary, any modules you want to use (if you're using DSO), the httpd.conf file and the libraries. In addition to that, technically you'd also need a few extras like /dev/null & etc that you shouldn't have to worry about unless you are jailing it with chroot or something.

Quote:
Originally posted by user_of_slack

Do most programs need access to specific libraries to run or is that just during the building? My understanding is a binary build needs certain "other files" to compile whether it is libraries or something else. Are they not needed after the binary is created?
That depends on how the program was compiled/built. Basically there are 2 different ways to build "most" programs, static and dynamic.

With static any external libraries used in the code are compiled into the program when built. So a truely static binary does not require any external libraries to run, as it has the code it used from the library compiled into it (which is usually not the entire library BTW).

With dynamic binaries, the external libraries it uses in it's code are not compiled into the program. It instead relies on the OS to provide them to it at runtime or whenever it needs code from them. This saves alot of space as it eliminates compiling the exact same code over and over again into different programs. Generally most programs in a distro will be built dynamic by default.

Quote:
Originally posted by user_of_slack
A binary for say RedHat doesn't just install on my Slack system. I know there is a project out there called Free Standards ( http://www.freestandards.org/ ) The idea is a binary will install on any system. That is great but it is not what I am asking... If I compile a program on my slackware 10.0 system, can I just move the binary to another system and it will work?
That depends. There is no simple yes or no answer. It depends on the program and the libraries involved. Generally if you compile program X on say Redhat and it depends on library Y version 1, then so long as you have the same version of Y on the other system it should run fine. If you compile it against a different version of Y than is on the other system then it may still be possible to run the program depending on what code in library Y is used and other factors.

You can also compile a program from a completely different OS under Linux using cross-compilers. For instance, I compile programs for Windows & BSD under Linux all the time. But that's a different subject.
 
Old 10-03-2004, 09:06 AM   #11
skog
Member
 
Registered: Sep 2003
Location: TX
Distribution: slackware
Posts: 301

Rep: Reputation: 30
what they said.

if your desktop machine is slackware 10.0 and your server is slackware 10.0 they wont have problems moving binaries between each other. unless you leave an important package/library out on the server machine. Even if you leave something out when you run the program it will complain about a library or binary missing just look on the cd for it and you can install it later. I know depending on how much you leave out this can be a real problem though.

ex: ./configure --prefix=/home/ftp/apache1

then from the server machine ftp to the desktop machine and download the entire /home/ftp/apache1 dir and put it where you want it on the server machine.

another idea is to compile the programs you want and then removepkg all the packages from D.

on a minimal server its usually concidered a bad idea to have a compiler on it ... (* worse case scenario *) someone cracks it they have a compiler sitting right their to recompile any programs they want to. It just leaves to much power sitting there, plus its easy enough to compile and move the binaries, and its kind of a waste of disk space.
 
Old 10-03-2004, 09:13 AM   #12
skog
Member
 
Registered: Sep 2003
Location: TX
Distribution: slackware
Posts: 301

Rep: Reputation: 30
*** sorry double posted ***
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Install GNOME RPM after minimum RHEL install linuxhead Linux - Newbie 4 02-23-2007 03:36 PM
Minimum system requirements for Slackware 10.1 ml2mst Slackware 21 11-25-2005 06:30 PM
Minimum packages for a slack webserver? technician Slackware 23 08-19-2005 11:23 AM
Slackware 8.1 minimum install (including KDE) JaymzCobain Slackware 11 02-03-2004 07:09 AM
Slackware minimum install packages jamaso Linux - General 3 04-03-2002 10:02 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 05:23 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration