Installation with Manjaro-Architect ISO

netinstall
installation
manjaro-architect

#154

yes that’s what I did…but there are many things missing: networkmanager, openssh, etc.

it would be nice to have a server profile, just like the arch-anywhere installer

thank you


#155

Manjaro is not especially suited for a server, because

  1. kernels are optimized for desktop
  2. rolling release is problematic with servers in general

That being said, it would be possible to make such community edition. Something similar to manjaro-arm server edition. Just base, some networking tools, lamp stack and so on. This would be relatively easy to do for someone who knows these things. @Strit, do you know who made the server edition on manjaro-arm?

Another thing to add would be a kernel more suited for server use. Maintaining this would be more extra work and would probably need a new maintainer. Linux-lts from arch repos might do for a starting point.


#156

Yeah. That was @dodgejcr. But we didn’t use manjaro-tools for it. We simply set it up on a drive and dd’d it to an image.


#157

Unfortunate. It would be nice to have something like that pre-configured, but I lack the skills to do it. Maybe some day I’ll have time and resources to set up my own server for next cloud or something.


#158

I kept the server edition very minimal as most people want to have a pretty specific configuration for their servers. All I did was a basic LAMP stack with apache and php enabled. mysql was installed but not configured with any user specific stuff. Threw in a few tools that could benefit a small server. I also configured and enabled FTP and SSH to work similar to how most hosting companies run. SSH into users home directory which contains the FTP and HTML directories that serve the content respectfully.

All this works well since the embedded boards were single use case so we only needed to focus the server edition on running servers.

I wouldn’t think that using manjaro-tools to accomplish the same goal would be incredibly difficult but I haven’t looked at it recently so I could be wrong. If you want to attempt to include something similar, let me know and we can look into it.


#159

I would be interested.


#160

Okay, sounds good but I have no real clue on how to start. I assume you would need a list of packages that need to be installed and some configs that need to be put in place? There aren’t many

apache — requires config
mariadb — initial setup can be scripted rather easy or left to the user
php — requires config
openssh — can require config but not 100% necessary
vsftpd (or similar) — can require config but not 100% necessary

These will get you a very simple LAMP stack with ssh/ftp access. Anything more can be either added by the user or through optional packages. You can also switch out apache with nginx or whatever but I feel most people looking for preconfigured would want LAMP.

Something that I never got around to doing was configuration scripts for Manjaro-Arm. My idea was to install the packages and use a bash or ncurses utility to edit the configs how the user wanted. I didn’t even get to the proof of concept but using something like sed should make it possible. You could actually take a blank config and have whatever utility write the user settings + the typical stuff in place as a whole document. Sort of how pacman-mirrors will create a blank mirrorlist and insert all the required lines + the mirrors in whatever order.

Just food for thought. Since you know the installer, let me know how you need to move forward and I can see what I can pull together for you.

Thanks,


#161
  1. Fork https://github.com/manjaro/iso-profiles/ in github and if there are files needed in $HOME, also fork https://github.com/manjaro/desktop-settings/
  2. create a new profile in iso-profiles/community. You can start out by copying iso-profiles/community/bspwm into iso-profiles/community/server
  3. in that directory, edit the file Packages-Desktop and put in names of needed packages separated by newlines
  4. put all the needed configuration files to the directory desktop-overlay. This directory represents the root directory of the installed system. You may also be interested in editing desktop-overlay/etc/issue. Don’t put anything to etc/skel in this repo.
  5. edit profile.conf. The important part is the line that lists what services should be enabled.

This is a good idea. Maybe use dialog? I have written quite a few scripts to edit configuration files with sed/awk/grep, so I may be of assistance if needed.

You could script it to either autostart the first time user logs in, or make a mention of the script (maybe server-setup.sh?) in /etc/issue.

Btw, do you think tools like bmenu or pacui would be useful for server?


#162

I have no clue when I will be able to start on any of that if you want me to do it. I am traveling for the next few weeks before school starts back for myself and my kids. Maybe after things settle a bit, I can fork and start working but who knows when that will be. This is part of the reason why I discontinued Manjaro-Arm.

Sort of forgot about Dialog. I suppose its probably the simpler and more direct approach to this as it would be easier to integrate into the main installer. I would probably not be the best choice to make any of this happen to be honest. Im not so good with GUIs, even minimal ones.

I would leave them optional if I were building it. Maybe even an option at the end of the system installation to install. Most people looking to run servers will do it headless of course and might want to keep things minimal or ‘universal’ on all emulators and consoles. But I dont suppose it would hurt any.


#163

Fair enough, there is already a custom package choice at the end of installation step in manjaro-architect.

Would it then be better if you provided me with configuration files that would be needed, and I would do the forking?

I can do it if I can consult you on the matter. Would this be mainly (un)commenting lines from a example configuration file, or writing a configuration from scratch?


#164

Looking at arch wiki entries about mariadb, I wonder if it would be better to make the server stuff into a configuration item instead of a profile? User could just install base (or desktop system) and then slap LAMP stack into it. Maybe we could add similar thing for nextcloud at some point :slightly_smiling_face:


#165

But lamp is too restrictive.
Personally i use nginx and not apache
In addition to maria, we need a NOSQL database (there are several).
And there is not only php in web technology (ruby …).

i have one script for a nginx/php speed install

curl -I https://forum.manjaro.org
server: nginx
curl -I https://www.archlinux.org
server: nginx/1.12.0

#166

So, it would be preferable to have more options in server setup?

I’m probably way over my head even with just LAMP, but if I’m not the only one doing, more options could be added.

So, maybe

  1. apache or nginx
  2. mariadb or other, nonsql data base
  3. php, Ruby or something
  4. nextcloud, or other server/database tools

#167

don’t forget Java SE Development Kit


#168

Right, would that be category 3 or 4? Seems like 3


#169

Most likely 3. Though Java EE is most definitely would be with db stuff.
http://www.oracle.com/technetwork/java/javaee/overview/index.html


#170

Okay… So we have gone from 1 easy default profile to much more complex server setup with branching options. Development wise, this will require more time and reading. Usage wise, this gives user much more flexibility at the price of increasing the requirements of prior knowledge.

I think this plan has grown to the point where it would be more appropriate to have a separate top level option for installing server system.


#171

Should desktop focussed, rolling release distro servers be explicitly encouraged?

Next thing you know someone has replaced their Debian server because they really like Manjaro… ** Jaws theme music **

Creating a headless server is easy enough for those with a bit of understanding, just without the explicit label.

Just a thought.


#172

That’s a good point and one of the biggest reasons I’m not sure about this.


#173

This is sort of something major to think about. There are plenty of people that would want to set up a server but lack the skills to do so on an arch Based system. Of course rolling release is never the best idea for a server, it can help someone who wants to ‘play around’ and learn a few things.

As a starting point, I would really only focus on LAMP. Once everything is working as it should, you can start adding other services. It’s never a good idea to start out feature rich, you end up spending too much time smoothing out issues instead of perfecting what already works. Once you get one set up and perfected, more can be added later. Personally, LAMP is not my go-to server either but I know that it is one of the most straight forward services that can either proof a concept here and establish a need or could simply prove that nobody uses it and it was waste of time.

I do think that this whole idea would work better if it were NOT a profile. User starts out with a bare install and use meta-packages or install scripts to install packages and configure. Creating install scripts that guide them through the configuration changes and explains what is being changed might serve the user better as it will not blindly set up a server that they know nothing about.

Just my opinion on things, Chrys, decide what you feel would be best and when and where I can, I will be glad to help. Maybe you and I can tackle a Dialog configuration utility that can get this working proper.