Warning: There will be no detailed instructions! Only the sequence of actions, the necessary steps and guidance. This guide is for experienced Linux administrators only!Examples of some of my configs
are attached ...Note: this article is based on experiments with 32-bit CentOS 6.3
(A 64-bit OS is required for the server. But it turned out that 64-bit CentOS was not installed on the hardware I could use for experiments.) However, there is no difference for the installation method ( 32 vs 64bit) - it is only in the suffixes of the distribution files: either i686 (or i386) or x86_64 ...
')
Content:
0) Prepare server hardware
I will not give you specific recommendations on the choice of server hardware (what power is required), there is no personal experience. See the official
“Recommendations for choosing equipment for working with 1C: Enterprise 8” from v8.1c.ru and unofficial
“Computer requirements for working with the 1C: Enterprise 8 program” from 1c.xxi.kiev.ua ...
And I recommend taking iron with a power margin than the recommended one (because the growth of the needs of the enterprise; and because the 1C Platform is also constantly growing and optimizing, it means that more and more resources are consumed from release to release).
In addition, in a nutshell, the following strategy is most beneficial:
- Spread two servers (1C server and Postgres DBMS server) on two different machines - the capacity is doubled, and there is no need to buy extra licenses. This is a cheap solution: Linux is free, and the cost of hardware is not counted (iron is always cheaper than licenses).
- Note: note that the "1C server cluster" is still very buggy. Moreover, each additional separate machine under the “1C Server in the cluster” - requires the purchase of a separate “Server License”! Therefore, from all sides, under the "Server 1C" is most advantageous to use ONLY ONE MACHINE - buy under the server only one machine, with a fairly powerful iron, which is able to pull the entire load ...
- Install a hardware RAID10 in the DBMS server (the database files are backed up and the amount of disk space to grow as necessary).
Moreover: In budget solutions, it is enough to use a chipset RAID controller integrated into many modern motherboards , rather than buying a separate and expensive Hardware RAID controller (which costs from $ 250). Embedded chipset RAID controllers already have wide functionality ; support the necessary RAID modes (0, 1, 5, 10) and automated migration between them, while preserving data.
There is only one significant spoon of tar: poor support for hardware RAID controllers in Linux . And besides, the SATA-RAID chipset built into the motherboard is not fully hardware : data management takes place not at the level of the hardware itself, but at the BIOS microcode level through the OS driver - hence such concepts as “SATA-RAID drivers” (Intel Matrix Storage Driver), without which RAID is seen as separate disks - hence the problem of support ... Under Linux - software RAID arrays are traditionally used , the support of which has long been implemented and debugged! - Of course, both servers will be raised on windows / linux 64bit OS (since they support a lot of RAM and more power). A "1C server" to buy and install 32bit (because the "1C 64bit server" costs 2 times more, and the performance gain, all other things being equal, gives only 5% !!! informally, the craftsmen tested ...)
1) Install the operating system (OS)
Install Linux CentOS 6.x (latest release), better 64bit.
Reasons for choosing a CentOS distribution: This is a Linux server distribution. This is a free (free, “Community Edition”) distribution. This is a distribution based on the RedHat core, which 1C declares as “supported”.Images of the CentOS distribution are swaying
from here (from any of the mirrors) .
It is more convenient to deflate iso, burn a dummy (DVDRW) and set it up.
For installation, as a rule, it suffices to only the first disk of the two composable (on the second disk - any minor software).
And then the installation distky are no longer needed - all the same, all the software needs to be updated and delivered via the Internet ...Note:
The root user on the CentOS system is non-login (must be)!
All work in the CentOS system is ALWAYS performed from a regular user session, incl. and install / configure the system. And only for some actions, “superuser” privileges are requested each time (something similar appeared in Windows7).
Therefore, to edit configs, install packages and other “admin” actions — by opening the console in a normal user session, we immediately execute the “su” command, which switches the current console to the “superuser” mode (CentOS feature):
bash # su
Password: <enter root password>
This bash # console is then used for various privileged actions. For example, you can run “mc” and edit configs in / etc / ...
2) Configure the Network
Configure network adapters, hostname, gateway and DNS ...
Connect to the Internet and update all the basic packages to the latest versions ...
All further actions will be done only if there is an Internet connection, we believe that it is permanent!
Network configuration is standard ... But there are
common Rakes that need to be circumvented :
2a)
The first is that the name of our server should be resolved to an IP address without any problems.
In the / etc / sysconfig / network file, we check the value of the hostname parameter (“computer name” of the north); if necessary, we change it so that the new parameters take effect to restart the system.
bash # cat / etc / sysconfig / network
NETWORKING = yes
NETWORKING_IPV6 = no
HOSTNAME = delldev
GATEWAY = 192.168.10.2
(The last line is the default gateway, it is optional to specify. If not specified, it will be taken from ifcfg configs or via DHCP ...)The file / etc / hosts should not contain localhost.localdomian or IPv6-related records; if there is no DNS server, it should contain a clear correspondence between the IP address of the server and the FQDN name - the short name. An example of the correct hosts file:
bash # cat / etc / hosts
127.0.0.1 localhost delldev
Check: Does the server ping itself? Type in the console:
bash # ping delldev
2b)
The second is that the firewall should not have rules prohibiting the interaction between the components of enterprise 1c.
In most cases, the enterprise server 1c is located within the local network, so we can completely disable the firewall (at least for the time of commissioning):
bash # chkconfig iptables off
bash # service iptables stop
2c)
Third, you must also disable the SELinux policy!
The reasons:
1) Previously, SELinux caused a Segmentation Fault error.
2) With SELinux enabled, Samba balls do not work (remote users go into the balls, but they don’t see the files ... or they see the files, but they aren’t readable ... etc. bugs)
3) In addition, the advantages of using SELinux on a high-load server located within the local network are extremely vague.
How to disable:
Editing config / etc / selinux / config
string SELINUX = enforcing
change to SELINUX = disabled
we overload the car ...
2d)
The Internet provider Ukrtelecom / Ukraine still has such a rake: buggy DNS servers - so you need to use auxiliary ones (better from Google) ... And maybe my DSL router turned out to be poorly compatible with Linux OS ...
Symptom: when working with the Internet, rezolving each DNS name takes a very long time (several [tens] seconds of timeout), it works very badly ...
Solution: Therefore, I did not automatically receive the DNS server via DHCP, but I statically registered the following addresses in the / etc / sysconfig / network-scripts / ifcfg-eth0 configuration in the adapter: 213.179.249.151, 213.179.249.152, 8.8.8.8, 8.8 .4.4
(the first two are new Ukrtelekomovskys, the next two are from Google) .
3) Set up the package manager (yum)
Note: for a detailed manual on using yum, see the article
“Package Management in RHEL6. Yum "...3a)
Configure software sources (repositories):we include standard repositories (in the repository config we write enabled = 1, or install checkboxes through the graphic interface ...):
CentOS-6 - Base
CentOS-6 - Contrib
CentOS-6 - Extras
CentOS-6 - Plus
CentOS-6 - Updates
And we
add / connect additional repositories (without them it’s very sad, because the standard repositories contain mostly server software, and outdated, albeit super-smooth versions).
Note: In most cases, to facilitate the connection of new repositories, the owners of the repositories have prepared RPM packages for automatic configuration - these packages need only to be downloaded and installed. Moreover, choose the packages of the correct version: for the corresponding version of the repository and intended for the corresponding Linux release. When this pseudo-package is installed, the necessary configs will be generated automatically, yum will be configured, etc.
Recommendations:
Use "cat / etc / redhat-release" to find out which you are using
(I have said: "CentOS release 6.3" - i.e. "el6")Use "uname -a" to find your processor architecture
(it says: "i686 i386")Use "rpm -ivh package-filename" to install the rpmforge-release package
(also works with URLs)RPMforgeInstallation Instructions:
repoforge.org and
wiki.centos.orgworking installation example: su -c 'rpm -Uvh
packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm '
EPELInstallation Instructions:
fedoraproject.orgworking installation example: su -c 'rpm -Uvh
download.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm '
ATrpmsInstallation Instructions:
atrpms.networking installation example: su -c 'rpm -Uvh
dl.atrpms.net/all/atrpms-repo-6-5.el6.i686.rpm '
3b)
Concept: the
main thing is not to violate the functionality of the base system kernel .
Standard CentOS repositories (especially “CentOS-6 - Base”) are made up of specially trained people who ensure that at each time in the repository a slice of packages and libraries are compatible with each other.
(CentOS is a server system, which is installed on the most expensive Production servers running in autoupdate mode. The glitch in the repository will break many servers, well, that is, admins will have a lot of crap and CentOS credit will be undermined ... This is not allowed.)But if you play with the third left distributions, then they always have new (and unstable) versions of libraries appear earlier - they can be automatically installed into the system with auto-add, causing incompatibility for kernel services. Poorly!
In order for the most debugged software to be installed on the server, and of the additional repositories, only software that is missing in the base ones was installed (packages are untied by “dependencies”) - you need to configure / use the priority system:
To manage priorities, you need to
install additional plugins for yum (it is useful to install all three):
- yum-protect-packages (allows you to protect specified packages from deletion; by default, yum itself and its dependency chain are protected)
- yum-plugin-protectbase (allows you to protect packages from the specified repository from updating from unprotected repositories) - ITS EASIER TO CUSTOMIZE.
- yum-plugin-priorities (allows you to assign priorities to different repositories; packages from a repository with a lower priority value cannot be updated from a repository with a high priority value - this is another type of protection, more advanced and flexible) - IT IS BETTER!
(Note: for yum there are many more interesting plugins, but these are the most necessary ...)Repository Settings yum stores in: /etc/yum.repos.d/
Configs that can be edited are called: * .repo
other service files - do not touch them.
It is necessary to add to text configs (at least for all repositories with enabled = 1): lines with protect = ... and priority = ...
(note: the lower the priority value - the more important the repository)I recommend setting the following priority settings ... # == CentOS-Base.repo
[base]
enabled = 1
protect = 1
priority = 1
[updates]
enabled = 1
protect = 1
priority = 1
[extras]
enabled = 1
protect = 1
priority = 1
[centosplus]
enabled = 1
protect = 0
priority = 2
[contrib]
enabled = 1
protect = 0
priority = 2
# == CentOS-Media.repo
[c6-media]
enabled = 0 # This is actually a local repository on the installation disks. In real work, it is not needed, because Internet is being used - Disable this repository.
protect = 0
priority = 2
# == rpmforge.repo
[rpmforge]
enabled = 1
protect = 0
priority = 9
[rpmforge-extras]
enabled = 0
protect = 0
priority = 9
[rpmforge-testing]
enabled = 0
protect = 0
priority = 99
# == epel.repo
[epel]
enabled = 1
protect = 0
priority = 10
[epel-debuginfo]
enabled = 0
protect = 0
priority = 10
[epel-source]
enabled = 0
protect = 0
priority = 10
# == epel-testing.repo
enabled = 0
# == atrpms.repo
[atrpms]
enabled = 1
protect = 0
priority = 11
[atrpms-debuginfo]
enabled = 0
protect = 0
priority = 11
[atrpms-source]
enabled = 0
protect = 0
priority = 11
# == atrpms-bleeding.repo
enabled = 0
# == atrpms-testing.repo
enabled = 0
3c)
I also recommend installing the graphical package to the package manager: Yum Extender (the binary is called yumex) - it is much more advanced than the standard GUI!
4) Install additional software not related to the 1C system
Now you can install (via the yum package manager management console, of course):
ntfs support
wine (emulator for running simple windows apps)
and other useful local applications ...
5) Configure Samba Server
It is necessary to install (via yum) and configure the Samba server (“smb” and “nmb” services) - this is support for the Microsoft NetBIOS protocol under Linux, the so-called. "Network"…
Moreover, I recommend that Samba be raised, even if you do not provide file balls on this server for other clients of the local network, so that this server appears in the “network environment” of all Windows clients and other servers on the network, scanned by the standard API, resolves its “network machine name "- so that you can refer to it somehow like \\ MyLinuxServer¨. For convenience, configure Samba so that the 1C Server is visible in your WORKGROUP ...
Note about: Do I need a Samba server for 1C: Enterprise operation or not?1) Previously, for running 1C: Enterprise version 8.1, a Samba server was strictly necessary: ​​for example, the “Server Administration” MMC snap-in, if the 1C server was under Linux, an analogue of “Windows File and Printer Access Service” was required - Samba ... But now
admins note that later versions of 1C: Enterprise 8.2 work fine without raising Samba on the server .
(Although I will note that then 1C client applications, including the Server Administration snap-in, have to access the 1C server only via IP. Or, you need to raise and configure the local DNS server accordingly to translate the IP server into the symbolic name of the computer .)2) Unlike the “file Information Base”, which required a “shared network folder”, it is no longer required in the client-server version of the samba ball ... However, the Samba-server remains useful!
The main purpose of Samba in a client-server configuration is to easily and easily resolve a local network with a symbolic "server name" in its IP , for all 1C client applications, without the need for a local DNS server - which
greatly simplifies network configuration and administration , for small 1C -resolutions
3) In addition, you need to understand that the 1C: Enterprise platform has always been sharpened for Windows (COM, RPC, NetBIOS) and its migration under Linux, to a cross-platform solution (TCP / IP, HTTP and to its own portable protocols), has recently begun. So far, cross-platform solutions have much less available functionality than when deploying the system on the Windows platform. And the 1C developers are still working on reworking 1C platform services for “cross-platform protocols” (and there are many services in the package) ... And “1C: Enterprise 8.x” is largely focused on working “in the local network” (for example, their entire licensing policy on this is built) ... Therefore, there is still a lot of explicit and implicit use of the NetBIOS protocol by 1C services (which may be undocumented, but these are ordinary overlays for “iterative development”) - and professional intuition tells me that
Samba is very desirable to raise !
To configure Samba I advise:
Create and configure ball folders like this:
mkdir / home / samba
mkdir / home / samba / all other
...
chown -R samba / home / samba
chgrp -R samba / home / samba
chmod -R a + rw / home / samba
create non-user / group: samba / samba
Assign this user a home folder: / home / samba
Configuring Samba Service:
Configs lie in / etc / samba /
see man smb.conf
see
smb-conf.ruFor easy setup, see the article
“Easy installation and configuration of a SAMBA server on CentOS” ...Important: In addition to the “smb” service (main), you should also “enable” and “start” the “nmb” service (which is responsible for publishing the NetBIOS name of the computer on the local network - the Server will become visible in the Network Neighborhood):
chkconfig --level 2345 smb on
chkconfig --level 2345 nmb on
service smb start
service nmb start
Tip: It’s best to configure the operating mode of the Services through the GNOME / System / Administration / Services graphical tool ...
6) We get and prepare 1C: Enterprise distributions ... Where can I get everything from?
Pirate distributions of 1C (and cracks) can be downloaded from the exchangers (I don’t provide links, you can find on
forum.ru-board.com in the “Vareznik” section) ...
So, the
“1C: Platform 8.2 release 8.2.16.368 dated 05.10.12” was extracted / downloaded -> we take “Server 1C: Enterprise (32bit) for RPM-based Linux systems” from it, the file
“8_2_16_368_rpm.tar.gz” (169.07 MB) -> after unpacking the archive, we get 8 RPM files of the distribution ...
Ready-made assemblies “PostgreSQL from 1C release 9.0.3-3.1C from 01/17/12” will not work for us, they will not be installed according to dependencies (packages are built for CentOS 5.x, and not for 6.x.).
We
need PostgreSQL source codes patched with 1C for self-assembly! From the distribution kit
“PostgreSQL from 1C release 9.0.3-3.1C from 01/17/12” -> we take only the file “PG90331_Patch903.rar” -> from the archive we take only the file
“postgresql-9.0.3-3.1C.src.rpm” ( This is an RPM package with PostgreSQL source code version 9.0.3, ALREADY INCLUDING ALL NECESSARY PATCHES to ensure compatibility with the 1C: Enterprise 8.1 and 1C: Enterprise server 8.2)Note: In addition, the source codes for self-building PostgreSQL DBMS, supported by 1C: Enterprise 8, are the easiest to
download directly from off.site ...Remarks: Which platform to choose?
- 1C server is: x64 and x86
- 1C client programs are: only x86, at the moment (I repeat: x64 is only 1C server)
- it is known that x86 programs can be installed on OS (this concerns not only 1C)
- 1C client programs (thick and thin clients) work only under Windows!
Additional Information...On the off site, v8.1c.ru for “1C: Enterprise Technology Platform” / “Thin Client” and “Fat Client” - the ability to work under Linux is not mentioned! Although it is mentioned for the web client and for 1C Server ...
In distributions of the 1C: Enterprise platform, 8.2 client applications for Linux - DON'T DETECTED (thus, only Web-clients are accessible from under Linux, which work in the browser's environment).
In distributions of the 1C: Enterprise 8.3 platform (for the time being the test version), client applications for Linux (both 32bit and 64bit) are ALREADY PRESENT!
By the way, therefore, for the local installation of 1C (one user / one computer) - only the option under Win32 is available so far.
7) Building and Installing “PostgreSQL DBMS from 1C (Release 9.0.3-3.1C from 01/17/12)” on CentOS Linux (6.3)
First of all, in order to avoid conflicts in the system, you need to uninstall all other / previous versions of the PostgreSQL SERVER, if installed (check).
Harmful advice: To avoid confusion due to software incompatibility, I also uninstalled the “postgresql-8.4.13” client (installed initially, from the standard CentOS 6.3 repository) ... Some packages (for example, “postgresql-libs-8.4.13” and etc.) now had to leave, because Many other packages in the system depend on them - however, they can be uninstalled later, after installing PostgreSQL 9.0.3 (looking ahead, I managed it) ...
However, it makes sense to leave these standard packages on the system (especially “postgresql-libs-8.4.13”) - in case you have to uninstall PostgreSQL 9.0.3 in the future. Because now I have such a situation that all system packages now depend only on the package “postgresql-libs-9.0.3-3.1C” and the package manager does not allow to uninstall the last one without demolishing half the system (crash).
Unfortunately, in CentOS 6.3 basic repositories, i.e. in the current system, there are not all the necessary libraries (dependencies) for using the ready-made PostgreSQL from 1C assembly. In addition, it should be borne in mind that the 1C: Enterprise 8.2 server
requires PostgreSQL version not lower than 8.3.8 .
I tried different distros ...PostgreSQL from 1C release 9.0.3-3.1C (latest available stable version, patched 1C) - not immediately installed due to missing dependencies, requires new versions of libraries (libcrypto.so.4, libssl.so.4, libreadline.so. 4, libtermcap.so.2).
PostgreSQL from 1C 8.4.3-3.1C - not immediately installed due to missing dependencies, requires new versions of libraries (libcrypto.so.4, libssl.so.4, libreadline.so.4, libtermcap.so.2); You also need to install the openldap package (libldap-2.2.so.7, libldap_r-2.2.so.7); [and optionally, for additional clients, libraries are required: libpython2.3.so.1.0, libtcl8.4.so].
PostgreSQL from 1C release 8.3.3-2.1C - not immediately installed due to missing dependencies, requires new versions of libraries (libreadline.so.4, libtermcap.so.2); [and optionally, for additional clients, libraries are required: libpython2.3.so.1.0, libtcl8.4.so]. In addition, the “postgresql-libs-8.3.3” installable package was a smaller version and conflicted with the “postgresql-libs-8.4.13” package already installed on the system (therefore, version 8.3.3 does not fit at all).
So, the version “PostgreSQL from 1C release 9.0.3-3.1C” is best, but the collected RPM packages from the “PG90331_setuppln903.rar” distribution kit will not work for us: they will not be installed according to dependencies (there are packages for CentOS 5.x, but not for 6.x.) ...
Wrong approach: Manually upgrade existing old libraries - this is hemorrhoid and dangerous (a lot of software depends on them from the basic and stable CentOS kernel)! You could also insert crutches-hacks in the form of symbolic links (with the names of the required libraries, which refer to the existing versions), but this is really bad on the Production server ...
Therefore, in order not to violate the integrity of the CentOS kernel,
you need to rebuild PostgreSQL itself from source codes , patching it with 1C patches (it will be based on our existing libraries). Patched PostgreSQL sources are taken from the distribution package “PostgreSQL from 1C release 9.0.3-3.1C” -> we need only the file “PG90331_Patch903.rar” -> and from the archive we take only the file “postgresql-9.0.3-3.1C.src.rpm "... or download this file directly from the offsite ...
7a)
Note: I am not experienced in building from source, so the slightly modified recipe from the Admin Maniac blog on alsigned.ru (respect author) follows .Installation must be performed as root user ...Before PostgreSQL, you need to install (or make sure that you already have installed)
the ICU library - it is necessary for PostgreSQL version 1C to work. You can install manually from the RPM package (but not needed) ... Or using yum, from the standard repository (which is better):
yum install icu libicu libicu-devel
We also install the packages required for compilation and assembly:
yum install rpm-build wget glibc-devel bison flex readline-devel zlib-devel openssl-devel pam-devel gettext gcc make
7b)
Download the PostgreSQL 9.0.3 source from the 1c site:
wget http://v8.1c.ru/overview/postgresql_patches/9-0-3/postgresql-9.0.3-3.1C.src.rpm
and install the source package (different folders will be created in the system and the source files scattered over them):
rpm -ihv postgresql-9.0.3-3.1C.src.rpm
We open for editing the file / usr / lib / rpm / macros and change the level of matching _default_patch_fuzz to 2 in it:
% _default_patch_fuzz 2
Note: Previously, similar actions had to be done only on Fedora 12 and higher, when building software that does not support the processing of new files with scripts, and starting from version 6, new scripts came to CentOS.Create symbolic links to libicu libraries:
ln -s /usr/lib/libicui18n.so /usr/local/lib/libicui18n.so.46
ln -s /usr/lib/libicudata.so /usr/local/lib/libicudata.so.46
ln -s /usr/lib/libicuuc.so /usr/local/lib/libicuuc.so.46
Moving on to building PostgreSQL:
rpmbuild -bb --define 'runselftest 0' ~ / rpmbuild / SPECS / postgresql-9.0-1C.spec
Note: By setting the “runselftest 0” parameter, we refuse to initialize the test base and test PosgreSQL to work during the build process, in order for the test to succeed it must be run from under a restricted user, otherwise the build process will be stopped.The build process will take some time ...
Finally, let's review the list of collected RPM packages (since I have a Linux OS 32-bit, then the PostgreSQL packages were also assembled in the 32-bit version): bash # ls -1 ~ / rpmbuild / RPMS / i686
postgresql-9.0.3-3.1C.i686.rpm
postgresql-contrib-9.0.3-3.1C.i686.rpm
postgresql-debuginfo-9.0.3-3.1C.i686.rpm
postgresql-devel-9.0.3-3.1C.i686.rpm
postgresql-docs-9.0.3-3.1C.i686.rpm
postgresql-libs-9.0.3-3.1C.i686.rpm
postgresql-server-9.0.3-3.1C.i686.rpm
postgresql-test-9.0.3-3.1C.i686.rpm
7c)
Installing the PostgreSQL patched DBMS server from 1C:It is not necessary to install all the packages ... Four is enough for PostgreSQL to work properly: postgresql-libs, postgresql, postgresql-server, postgresql-contrib. Go to the / root / rpmbuild / RPMS / i686 directory (on a 64-bit OS, go to / root / rpmbuild / RPMS / x86_64) and install the packages ...the package installation procedure is as follows: postgresql-libs-9.0.3-3.1C.i686.rpm
postgresql-9.0.3-3.1C.i686.rpm
postgresql-server-9.0.3-3.1C.i686.rpm
postgresql-contrib-9.0.3-3.1C.i686.rpm
Optional but useful (for developers) then install the following packages: postgresql-docs-9.0.3-3.1C.i686.rpm
postgresql-devel-9.0.3-3.1C.i686.rpm
postgresql-debuginfo-9.0.3-3.1C.i686.rpm
postgresql-test-9.0.3-3.1C.i686.rpm
But in order not to bother with the order of installation, it is better to install all the packages in a crowd (yum will deal with dependencies):rpm -ihv postgresql-9.0.3-3.1C.i686.rpm postgresql-contrib-9.0.3-3.1C.i686.rpm postgresql-debuginfo-9.0.3-3.1C.i686.rpm postgresql-devel-9.0.3-3.1C.i686.rpm postgresql-docs-9.0.3-3.1C.i686.rpm postgresql-libs-9.0.3- 3.1C.i686.rpm postgresql-server-9.0.3-3.1C.i686.rpm postgresql-test-9.0.3-3.1C.i686.rpmRake: when installing the postgresql-contrib-9.0.3-3.1C package .i686.rpm ”error occurs?error: unpacking archive failed on file /usr/pgsql/lib/libicudata.so.46;4e9327cc: cpio: Digest mismatch
error: postgresql-contrib-9.0.3-3.1C.i686: install failed
Solution: Run rpm without checking digest and md5 rpm --nodigest --nomd5 -ihv postgresql-contrib-9.0.3-3.1C.i686.rpm
root.«postgres», ( ).
/etc/init.d/postgresql .
PostgreSQL 9.0.3 /usr/pgsql/bin/…
7d)
We initialize the PostgreSQL database cluster (this is the name of the directory, usually / var / lib / pgsql / data, which stores data for all databases of this PostgreSQL DBMS installation):Note: in previous versions of Postgres, it was a trick that we just started the database server and it when you first start without detecting the directory with the database files - he initiated initdb ... But now it does not work -you need to run initdb explicitly and with the correct parameters. At the same time, you need to explicitly specify the system user in whose session the DBMS server is started (using the “su postgres” command). We also explicitly indicate the locale in which the server is running (locale = en_RU.UTF-8). bash # su postgres -c '/ usr / pgsql / bin / initdb -D / var / lib / pgsql / data --locale = ru_RU.UTF-8'
When executing this command, its console output will confirm the specified parameters (the text will appear in the console):The files accompanying this database system will be owned by the “postgres” user. This user must also own the server process.
The database cluster will be initialized with the ru_RU.UTF-8 locale. The base encoding is set to UTF8 by default. The full-text search configuration is set to “russian” by default.
As a result, a database will be created, located in the / var / lib / pgsql / data directory (note: here are PostgreSQL server configs).Rakes: If during the initialization of the database cluster an error occurs?FATAL: this could not create a shared memory segment ...
HINT: This error usually means that it would be the SHMMAX parameter. You can either reduce the size of the kernel with larger SHMMAX. To reduce the request size (currently 35233792 bytes), reduce PostgreSQL's shared_buffers parameter (currently 3584) and / or its max_connections parameter (currently 104).
Solution: It is necessary to increase the value of the kernel.shmmax parameter. To do this, add the following line to the /etc/sysctl.conf file: kernel.shmmax = 40000000
Then we update the sysctl parameters with the following command: bash # sysctl -p
: 32- … CentOS 6.3 32bit — kernel.shmmax = 4294967295
7e)
PostgreSQL:
PostgreSQL:
bash# chkconfig postgresql on
bash# service postgresql start
PostgreSQL 9.0.3 /usr/pgsql/bin/… , ( PostgreSQL):
ln -s /usr/pgsql/bin/psql /usr/local/bin/psql
and etc.
When PostgreSQL is first run, to control access privileges to database entities, the DBMS creates an account of the superuser “postgres” with the password “postgres” (do not confuse it with the account of the Linux OS). The first thing to do is change the standard password ... Set the password for the superuser of the “postgres” DBMS with the command: bash # psql -U postgres -c "ALTER USER postgres PASSWORD 'newpassword'"
Note: now this password will be used when connecting clients to the DBMS: login = "postgres" password = "newpassword".7f)
PostgreSQL « 1: » ( ):
.
.../var/lib/pgsql/data/postgresql.conf — . ( , ):
default_with_oid = on
, PostgreSQL 9.0.3 … « (Automatic Vacuuming)» ( , « » , ) — :
track_counts = on
autovacuum = on
: «stats_row_level»… PostgreSQL 9.0.3 «track_counts»./var/lib/pgsql/data/pg_hba.conf (.. PostgreSQL-)… , ( « , md5»):
host all all 0.0.0.0/0 md5
: «md5» «trust», ! ( / ) , - localhost: ...: . , 1 — , , localhost ( « 1», )..., PostgreSQL:
/etc/init.d/postgresql restart
8) « 1: 32bit RPM-based Linux- (8.2.16.368)» CentOS (6.3)
The distribution of the server part of 1C: Enterprise 8 for Linux is presented in the form of several rpm packages:- 1C_Enterprise-common - common components of 1C: Enterprise 8;
- 1C_Enterprise-server - 1C: Enterprise 8 server components;
- 1C_Enterprise-ws - adapter for publishing Web services 1C: Enterprise 8 on a web server based on Apache HTTP Server 2.0 or Apache HTTP Server 2.2;
- 1C-Enterprise-crs — 1C: Enterprise 8 configuration storage server components.
- Packages containing the suffix "-nls" in the title are additional national resources for the corresponding package.
1C_Enterprise-server 1C_Enterprise-ws . , , (.. « 1» «Web-» , , « 1»)…
2014.01.15: , «1C_Enterprise-ws» - «1C_Enterprise-server», ...Tern222 , , «1C_Enterprise-ws» - «1C_Enterprise-server»! (, .) , «1C web-server Linux» . , Web-…
« » . «» , , : «Error loading component pack». — . : …
, «web-», « 1» , .
root...( , , ) — :
rpm -ihv 1C_Enterprise82-common-8.2.16-368.i386.rpm
rpm -ihv 1C_Enterprise82-common-nls-8.2.16-368.i386.rpm
rpm -ihv 1C_Enterprise82-server-8.2.16-368.i386.rpm
rpm -ihv 1C_Enterprise82-server-nls-8.2.16-368.i386.rpm
rpm -ihv 1C_Enterprise82-ws-8.2.16-368.i386.rpm
rpm -ihv 1C_Enterprise82-ws-nls-8.2.16-368.i386.rpm
rpm -ihv 1C_Enterprise82-crs-8.2.16-368.i386.rpm
rpm -ihv 1C_Enterprise82-crs-nls-8.2.16-368.i386.rpm
:
/etc/rc.d/init.d/srv1cv82 stop
/opt/1C/v8.2/i386/ragent -daemon
/etc/rc.d/init.d/srv1cv82 restart
root.1C: 8 usr1cv82, 1: 8.8a)
, 1 v8.2 , . ( 1 v8.2 , , 1 - .)
/opt/1C/v8.2/i386/utils/config_server
«config_server»:
nefrit.arvixe.ru blog.unixstyle.ru …
«config_server»
( — ) :
root...1) «config_server» — : «Can not detect font directory, please specify it!»
: TTF-
linewb.ru FAQ corefonts.sourceforge.net .
: ~/rpmbuild/ ( , PostgreSQL)., , :
yum install rpm-build cabextract
wget http://corefonts.sourceforge.net/msttcorefonts-2.5-1.spec
rpmbuild -bb msttcorefonts-2.5-1.spec
rpm -ivh ~/rpmbuild/RPMS/noarch/msttcorefonts-2.5-1.noarch.rpm
2) «config_server» — : «No truetype conversion utility found! Please install ttf2afm or ttf2pt1!»
: ttf2pt1 ( EPEL):
yum install ttf2pt1
3) «config_server» — c : …
, « 1» ( ):
/etc/init.d/srv1cv82 restart
root.8b)
, « 1» !
« 1» MMC- « 1: 8.2» « » . …
: MMC- « 1: 8.2» — , Windows. ( «1: 8.3» , ...)8c)
web- 1 Apache:
: Apache, -, « 1». Apache — «Task: Install Apache/httpd under Fedora Core/Cent OS Linux»
«How to install and start the Apache or httpd service under Linux» :
yum install httpd
chkconfig httpd on
/etc/init.d/httpd start
Further, we act as it is said in section “2. Publishing a web-client ”of the article “ Installing a 1C web-client on Apache ”...Suppose you have an information base called“ test1c ”on the“ 1C Server ” (in fact, it will be created later, after cluster initialization and creating a database in postgreSQL ... but the publication can be performed speculatively now, because in fact we will not turn to the IB, we just fix the Apache configs and create a stub on the web server, some folders / files). The publication procedure is very simple and automated (each step is described in detail in the above article, so I don’t repeat here) - the following commands should be executed: cd /opt/1c/v8.2/i386
./webinst -apache22 -wsdir test1c -dir '/ var / www / html / test1c /' -connStr 'Srvr = "delldev"; Ref = "test1c"' -confPath /etc/httpd/conf/httpd.conf
chown apache: apache /var/www/html/test1c/default.vrd
chkconfig httpd on
service httpd start
Everything, the information base "test1c" is published! When you fully configure the “1C server cluster” and information database, you can connect to it through a browser by entering the address http: // delldev / test1c
(where delldev is the host name running CentOS, with “1C Server” and “web server” Apache ”, which we are now setting up) ...Remember: for the web client to work, it is also necessary: ​​to the host on which the 1C Server or Apache Web Server is running (in this case it is one), connect the Network Client Access Licenses package (the protection key can be connected locally or configure access to the "license manager"); and include in the "Properties" of the Information Base the item "Issue licenses by the application server" (configured using the Server Administration snap-in).8d)
Additionally: you should know
how to enable the "Technology log" (aka "logs", aka "log") ...
By default, the logs are disabled because they grow quickly and take up a lot of disk space (in case of errors, along with the “logs”, “dumps” are also created). Include logs only if you really need to track down some problem.
8e)
In addition: if you suddenly need ... to remove the "1C Server", you should follow these steps:
Before deleting, you must shut down the server cluster:
/etc/rc.d/init.d/srv1cv82 stop
Then, remove the packages in the reverse order of installation so that the dependent package is removed before the package on which it depends:
rpm -e 1C_Enterprise82-crs-nls-8.2.16-368.i386.rpm
rpm -e 1C_Enterprise82-crs-8.2.16-368.i386.rpm
rpm -e 1C_Enterprise82-ws-nls-8.2.16-368.i386.rpm
rpm -e 1C_Enterprise82-ws-8.2.16-368.i386.rpm
rpm -e 1C_Enterprise82-server-nls-8.2.16-368.i386.rpm
rpm -e 1C_Enterprise82-server-8.2.16-368.i386.rpm
rpm -e 1C_Enterprise82-common-nls-8.2.16-368.i386.rpm
rpm -e 1C_Enterprise82-common-8.2.16-368.i386.rpm
Or you can also remove all rpm-packages with one universal command, which will remove all installed packages that start with the prefix “1C_” and the dependencies will be tracked automatically:
rpm —e`rpm —qa | grep 1C_`
9) Installation of security keys (1C licensing)
Connect the keys to the "1C Server" - easy. You need to download the driver from the key manufacturer’s website, unpack it and perform the installation with a double click ...
Driver Selection Tips -
Etersoft drivers are
recommended to use ...Key drivers and license manager for Linux and WINE @ Etersoft, compiled for all systems -
available here ...Specifically, under Linux CentOS 6 -
drivers download from here ...Installing the HASP driver from Etersoft, with a built-in "license manager":
rpm -ihv haspd-3.3-eter4scientific.i586.rpm haspd-modules-3.3-eter4scientific.i586.rpm
Next, you need to insert two hardware keys into the USB port of this server: “key to 1C: Enterprise server” and “key to X network user licenses” (all keys in one physical “flash drive”). And everything should earn: customers will receive client licenses through the server ...
Note: Keys are needed only for the “1C: Enterprise Application Server” and for the “1C Secure Client Applications”. there are no problems with PostgreSQL DBMS - it opensource and does not require any licenses or keys (unlike the MS SQL Server DBMS, but we do not use it).
Note: Some versions of 1C worked without keys (beta) ...Attention: Unlicensed "1C Server" (i.e., even without a "server key") normally works with a small number of client connections (up to ~ 12 connections). This is probably done to facilitate administrative tasks: initial configuration and monitoring in case of problems ... But if this administrative limit is exceeded - the Server starts to reject new connections and demand a key.
According to the results of the experiment ...I have the exact number of allowable connections = 13, of which 1-3 connections, at different times, can be captured by some external services of 1C itself (they periodically start automatically, do something of their own and turn off).
The list of current connections can be seen through the Server Administration snap-in:
- "... / Work servers / Work processes / Connections" - connections to the server as a whole
- "... / Information bases / test1c (name of IB) / Connections" - connections to a specific IB (there may be fewer than to the server as a whole)
Note: however, “client keys” (local or network) are required for “1C secure client applications,” in any case — that for the first connection to the server, which for the hundredth!Additional information on using keys ...What are the keys?
1) By assignment , 1C keys are of three types:
- Local single-user client keys - must necessarily be physically connected to the computer on which the 1C client runs (one per computer). “HASP HL ​​Basic” key model (blue), this key is labeled “H4 M1 ORGL8”, does not have a built-in memory and personal ID, does not store any parameters and settings. Usually comes with products licensed for one workplace ...
- Network multiuser client keys - are distributed from one computer to many remote network clients via the License Manager service. Model key "HASP HL ​​Net" (red). They have internal memory, which stores the number of licenses, and a unique ID. There are variations for 5, 10, 20, 50 and 100 users. It has the label "NETXX ORGL8", where XX is the number of licenses (for example, NET5 ORGL8).
- [Local] Server keys - must be physically connected locally to the computer where the 1C: Enterprise agent server is installed and running. (I will stress: The keys for the 1C: Enterprise server are only local!)
- The 32-bit version of the server has the “HASP HL ​​Pro” security key (purple), which has internal memory and a unique ID. It has the label ENSR8, comes with a license for the server 1C: Enterprise.
- For a 64-bit server, the “HASP HL ​​Max” key (green) is used, with internal memory and a unique ID. It has an EN8SA label and also supports a 32-bit server (i.e., having a license for a 64-bit server, you can, without changing the key, use the 32-bit version, but not vice versa).
Details here:
www.online-ufa.ru/content/articles/marking_security_keys_1cinterface31.ru/tech_it/2010/02/klyuchi-zashhity-1s-predpriyatie-81.htmlwww.k-max.name/windows/ne-obnaruzhen-klyuch-zashhity-programmy-v-1spredpriyatie-8-ili-likbez-zashhity-1s2) By design , both server and client keys are implemented as:
- “Hardware keys” (physical devices are inserted into the USB port like flash drives) - they are easier to use and they are the most understandable / tested in practice.
- “Software keys” (as a serial; they are activated with reference to a specific hardware via the Internet / telephone; they need to be re-activated every time WITH ANY change in hardware configuration: for example, if the memory level has changed) - many questions arise with their use ...
Notes:
- The name HASP itself (from the English. Hardware Against Software Piracy) is a multiplatform hardware-software system for protecting programs and data from unauthorized use and unauthorized distribution ...
- Many drivers support Protection HARDWARE KEYS (USB, LPT) - they are easier and safer to deal with, they are more universal.
- But there is also information that some drivers also support SOFTWARE LICENSES (which is convenient when working with 1C: Enterprise in a virtualized environment like Hyper-V). But such solutions are much smaller number. And is there a driver implementation for your Linux? - one more question...
- Hardware keys and software licenses can be shared ...
Read more here:
www.gilev.ru/1c/hasp3) The license policy of 1C is muddy ... Moreover, there are two licensing models: “the old one that is used in version 8.1” and “the new one that came in connection with the release of version 8.2” (because in version 8.2 new unusual features appeared: “thin client” and "Web-client", all the logic of which is implemented on the server. Moreover, the "Web-client" does not have the technical ability to connect LOCAL HASP key, because it works in the environment of a web browser - you need a new licensing model ...)
- For users working with a thick or thin client, the licensing model used in version 8.1 can be used. The license gives the right to run an unlimited number of sessions on a specific user's computer. In this case, the hardware protection key must be installed in the user's computer or accessible to this computer over the local network.
- For users working with thin, thick, and web clients in client-server mode or through a web server, a new licensing model can be applied. The license gives the right to start one session. The hardware security key must be installed in the server or web server computer or accessible to this computer over a local network.
Source:
nefrit.arvixe.ru/page/utochnenie-licenzionnoj-politiki-dlja-1spredprijatija-82What keys are supported by the Etersoft driver?
Etersoft driver supported security keys:
HASP 3 / HASP 4 / HASP HL ​​from Aladdin (HASP SRM is not yet supported)
Smartkey 3 from Eutron
SafeNet and UltraPro / SuperPro from Sentinel
SenseLock (USB)
Katran (USB and LPT)
Guardant Stealth / Net II USB, Stealth / Net III USB, Stealth III Sign / Time USB HID from Active
For details, see the
full list of supported keys ...The question that has not yet been clarified: Does the Etersoft driver support “software licenses” for Linux (and if so, how are they activated?) Or only “hardware keys (USB)”?The question that has not yet been clarified: How many keys simultaneously connected locally to the computer are recognized by the driver from Etersoft under Linux?- I will clarify: it is guaranteed that you can connect one “server key” to one computer, and one “client key” (for 5, 10, 20, 50, 100 users) - both will pick up and work normally. But if you connect two or more “client keys” at the same time (for example, for 5 + for 20 users), only one of them will be seen, and by chance which one.
- There is a well-known feature of “HASP drivers for Windows”: it recognizes / picks up only one key from the set connected to the computer (At least, it does not exactly support several keys of one series! And several keys of different series can also be indexed, depending on the implementation / driver versions ... Moreover, it does not pick up on such a system: either it picks up any key completely by accident, ignoring the rest, or it picks up only the key in the USB port with the minor number or in the LPT port the closest.)
- How is this with "drivers from Etersoft under Linux"? It seems that also - since it is a feature of the technology, and is regulated in most manuals ...
According to the results of the experiment: the driver from Etersoft also has a built-in service "HASP License Manager". The Aladdin NetHASP Monitor utility sees the HASP License Manager service on a Linux host with a 1C: Enterprise server. But I still could not test the real work of the service (distribution of network client keys) (there are no official keys) ...Documentation / Questions on installing / configuring the driver from Etersoft
About installing and using HARDWARE KEYS protection in Linux, with the driver from Etersoft - read here:
Other issues on the use of keys (only hardware security keys are considered)
The hardware security key inserted into the USB port can be used as follows:
- Locally installed software;
- USB- (VM), 1;
- USB- ( - , « »).
1:
- « » USB- , HASP- « ». : « » , !
- « » ( , « » « ») — ( 1) .
— « » , «HASP License Manager» (« »), (« » , « »).
: « » 1 7.7 … 1 8.2 / : , .. 1 8.2 « »! 1 8.2 — -…
, « » 1 8.2 : / 1 « » ( ); ( VPN) - «- 1» (, «-» « » , « » ).- 1: 8.2 , - ( ) ( ) — ,
« » « 1» «-».-: « » ( « »), «» « » ( « ») — . ...—
« » (, ), ( ). , «HASP driver» «HASP License Manager» ( ), « ». — … « » !
« »:
- , « » ( 1): Windows.
- , «HASP License Manager» : 1: 8.2 Linux + PostgreSQL 9.0.3 Linux + HASP License Manager Linux + 1 Windows.
- , ...
« »:
- HASP License Manager , 1 ( ).
- HASP License Manager : « ». . , « » — « » « » ( ) , …
- , ; ( ) « » ( , ), nethasp.ini, « » ( : /opt/1/v8.2/i386/conf/ )...
- , « » . VPN ( ), ( /) — « » ( IP ).
/ 1C :
- « »…
- , « » .
- « » , « » — ...
- « » — « 1».
- « 1» « » ( , ; « 1» « ») — , .
- () : .
: , , . , 1 — - , « ». « »? ( , HASP- , «License Manager» , , ) — . … « » ( ) — .
10) Next, install the client part - on another machine running Windows
10a)
See the most detailed installation instructions for the Technological Platform for Windows (in pictures and video) ...We launch the Technological Platform for Windows version 8.2.16.368 installer (in version 8.2 there is only 32-bit) - there all the programs are in one bottle. When installing, select the following components:- 1C: Enterprise (Main components of 1C: Enterprise, including components for administration, configuration, a thick and thin client)
- "1C: Enterprise - Thin Client" (Components of a thin client only for working in a client-server version, without the possibility of working with the file version)
- 1C: Enterprise Server Administration (MMC-console for server cluster administration)
- “Interfaces in various languages: English, Russian ...” (by default)
I emphasize, we do not put the following components (they are not needed in this client / server use case of 1C):- "1C: Enterprise - Thin client, file version" (Components of a thin client, including components for working with the file version of the information base )
- « 1: » ( , .. … « 1»: , Widows — ...)
- « -» ( Windows: « 1» Windows + web- IIS Windows, … , 1- web-. , - « 1» — DCOM… : - « »! ... )
- « 1: » ( , — , 1 Web- Apache. : , 1 ... )
- « 1: 7.7» ( )
« HASP-» , 1 : USB- , « »…
(: /, «HASP- »!): ,
DCOM Windows, 1.
DCOM dcomcnfg,
... (: DCOM, 1v8+MSSQL… , DCOM.)10b)
:
MMC-: -> -> 1: 8.2 -> -> 1: .
, : « », «», « », « », « » —
« 1 »...( MMC-, ), , :
10c)
USB- - 1 ( : « », « »),
! — … email/ ( ?), / ( , , , .. )...After, through the server administration MMC-console, [already] the "Information database" was created (empty for now) - you can connect to it with the "Thick client" in the "Configurator" mode and start creating / configuring the application Configuration ... Do it now:- Connect to the IB Configurator (when you first start the client, you need to add the IB to the list: the Add button / Add the existing information database to the list / On the 1C: Enterprise server / Server cluster = delldev (server host name); "Name of IB in the cluster" = test1c);
- Load the Configuration (“Configuration / Load configuration from file (.cf)” ... then a long process of merging configurations and rebuilding the database, with confirmation requests) will take place;
- ( « / » — « », );
: « PostgreSQL » — PostgreSQL, , .. … , ... - ( « / »… «» ).
— (, , web) …
That's all! Thanks for attention!
( )
:
«1: 8.2 — ».
-
« : 1 PostgreSQL?»PostgreSQL ( ) ( ):
,
,
,
,
…
1: 8.x ...