OverviewNewsDownloadDocumentationDeveloper toolsContact
Imagen izquierda
You are in: Corunix > WebDocumentation > InstallCorunixWin2003 Edit - Attach

Install and configuration of Corunix for Windows Server 2003 v1.0

Here are the instructions explaining how to install and configure Windows Server 2003 to hold and serve Corunix.

Requirements

You need the following mandatory software or components installed:

And, optionally, is recommended to have also these other components, since Corunix expects them:

You have to install the following components from Microsoft Services for UNIX:

  • Base utilities
  • Interix gnu utilities
  • Server for nfs
  • Password synchronization
  • User name mapping
  • Server for nfs authentication

1. Configuring Services for Unix

Before proceeding, it's necessary to do some bootstrapping actions. Uncompress the corunix_win2003_etc.tbz package on a temporary place. Create the c:\corunix\base, swap and scripts folders. Put the files etc/corunix/character_translation_interix.conf, etc/passwd and etc/group in c:\corunix.

Now, go to Administrative tools and open Services for UNIX Administration. Configure each one of the following sections:

1.1. Server for NFS

Keep the default values unchanged on all sections but Server Settings section. Here, configure these values (remember clicking Apply after then):

  • Enable TCP support: no
  • Enable NFSv3 support: yes
  • Do not renew authentication
  • Translate file names: c:\corunix\character_translation_interix.conf
  • Create files that have '.' at the beginning as hidden files: yes
  • Case sensitive lookups: yes

1.2. User name mapping

Configure the following values

  • Configuration:
    • Use password and group files
    • Password file path name: c:\corunix\passwd (we will change it to the definitive value later)
    • Group file path name: c:\corunix\group (we will change it later)
    • Refresh interval: 1 day
  • Maps:
    • Simple maps
    • Windows domain name: keep the default value (the server name)

NOTE: If later the system seems not to map the newly created users properly, try to come again to this section and select show user maps and show group maps a couple of times. Sometimes, it refreshes the mapping and solves the problem.

1.3. Password synchronization

Check the Synchronize password changes from computers that run Windows to computers that run UNIX option.

2. Unpackaging Corunix

To uncompress and install Corunix you need an auxiliar Linux computer in which mount by NFS the installation directory exported from Win2003. This is necessary in order to keep the file permission, user and attributes. Unfortunately, we can't simply uncompress a ZIP file with Corunix inside and expect all to work properly.

Let's do NFS sharing of some directories (keep the letter case!):

  • "c:\corunix\base" as "networkstationv2/prodbase/ppc". Allow anonymous access (uid -2, gid -2). All machines read/write. Allow root access.
  • "c:\corunix\swap" as "swap". Don't allow anonymous access. All machines read/write. Allow root access.
  • "c:\Documents and Settings" as "home". Don't allow anonymous access. All machines read/write. Allow root access.

Now, go to the Linux machine and mount "networkstationv2/prodbase/ppc". Here, you can uncompress the corunix_win2003.tbz package.

After that, you can return to NFS server configuration and put the true paths:

  • Translate file names: c:\corunix\etc\character_translation_interix.conf
  • Password file path name: c:\corunix\etc\passwd
  • Group file path name: c:\corunix\etc\group

3. Configuring DHCP

As the we don't know how to read the configuration stored in the NetworkStation 1000 non-volatile RAM, the only way for auto-setup the computer at boot is by using DHCP. All parameters needed will be passed in that way to the NetworkStation.

To configure the DHCP server, open Administrative tools and then Computer Administration. Here, go to Applications and Services --> DHCP.

At server options, configure the following values:

  • 017 Root access path: 192.168.145.64 (your server's IP, this is an example, all our servers have a 192.168.XXX.64 address)
  • 066 Start serv. hostname: 192.168.145.64

Create a new zone, ranging from 192.168.145.65 to 192.168.145.79 (to hold 15 clients). Subnet mask: 255.255.255.0. On the next screen, put all the range as excluded addresses, as we want to specify each one by hand. Configure the router address (192.168.145.1), the primary domain, and the DNS server address. We use ourselves as the DNS server, so we put 192.168.145.64 here, but you could specify other server. We don't want a WINS server, so leave it blank.

Create one reservation for each thin client, specifying the IP and MAC. Example:

  • Reservation name: nc1
  • IP address: 192.168.145.65
  • MAC address: 0000a7241f3f (note that ":" aren't used)
  • Description: nc1
  • Compatible types: only DHCP

4. Configuring DNS server

Open the DNS server subtree at Computer Configuration. At server properties, configure properly the DNS forwarders.

If you like, you can add direct and reverse zones to store the DNS name of your terminals. We do it, but we think that it isn't strictly necessary.

Test your configuration opening nslookup from a console and asking some queries. Configure also the DNS server of the server itself, going to TCP/IP properties at Network properties.

5. Configuring rdate server

The NetworkStation 1000 has no internal realtime clock in which store the time when it is switched off. It must get the current date and time each time it boots up. To do this, the original NCOS operating system used the simple rdate protocol. We considered it a good way to get the date and keep it in our release.

To configure an rdate server on NT, you have to download one of such servers, like timesvc (download it from hereOUT). Download and install it following the instructions on the original webpage. These are:

  • Unzip timesvc1.zip and copy its contents to c:\Program files\timesvc1 (or wherever you like)
  • Register the service opening a console, going to the path where you've copied the executables and typing "timesvc /install"
  • Configure the autostart of the service using the Services section of Administrative Tools

6. Configuring Squid

Download SquidNT from hereOUT and install it at c:\squid. The version we are using is 2.5-stable4-nt.

Sample configuration (change 192.168.145.64 and parent_proxy.com as you like):

http_port 8080
tcp_outgoing_address 192.168.145.64
cache_peer parent_proxy.com parent 3128 0 no-query connect-timeout=0 default

acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_access_log none
cache_log nul:
cache_store_log none

auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours

refresh_pattern ^ftp:      1440   20%   10080
refresh_pattern ^gopher:   1440   0%   1440
refresh_pattern .      0   20%   4320

acl centro src 192.168.145.64/255.255.255.255
acl red src 192.168.145.0/255.255.255.0
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Safe_ports port 80      # http
acl Safe_ports port 81      # http
acl Safe_ports port 21      # ftp
acl Safe_ports port 443 563   # https, snews
acl Safe_ports port 70      # gopher
acl Safe_ports port 210      # wais
acl Safe_ports port 1025-65535   # unregistered ports
acl Safe_ports port 280      # http-mgmt
acl Safe_ports port 488      # gss-http
acl Safe_ports port 591      # filemaker
acl Safe_ports port 777      # multiling http
acl CONNECT method CONNECT

http_access allow centro
http_access allow red
http_access allow manager
http_access allow localhost
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny all
http_reply_access allow all

icp_access allow all
visible_hostname 192.168.145.64
memory_pools off
never_direct allow all
coredump_dir c:/squid/var/cache

If you aren't using a parent server, this configuration won't probably work for you. Try to change the "never_direct allow all" and adding "always_direct allow all". The trick is there.

7. Switching the power on and running away...

Let's go. Check that there aren't other DHCP servers on the net, switch on one NetworkStation 1000, and wait. Does it work? Great! Does not? Try the following check list:

7.1 The NetworkStation can't load the kernel

  • Check if you've configured the NetworkStation to get the IP from network, and that you're using Ethernet version 2
  • Check if c:\corunix\base is shared by NFS as "networkstationv2/prodbase/ppc", preserving the lowercase
  • Check the Windows files ACLs
  • Check if user name mapping is working properly

If unsure, try to mount the NFS export from another Linux machine and check the file owner, group and permissions are right.

7.2 The kernel loads, but then stops with a kernel panic

The DHCP query is issued two times. One by the NetworkStation firmware and other by the Linux kernel, since them can't communicate one with each other to pass the configuration. Check that there aren't two DHCP servers on the net.

There is also a bug that causes a hangup if you move the mouse while the kernel is loading.

Wether if it works or not, please, post a comment at the formun telling us your experience. That would help us to improve this manual. Thank you very much.

div class="twikiTopicInfo twikiRevInfo twikiGrayText twikiMoved"<&/div>-->

Igalia, S.L. © A Coruña-Pontevedra (Galicia), 2001-2007 - Aviso Legal - Política de privacidad
Igalia™ is a registered trademark of Igalia, S.L. Powered by TWiki